unable to load dynamic library

unable to load dynamic library

am 05.11.2006 15:53:54 von Rolf Brauser

Hi,
ich habe PHP 5,0,2 auf WINXP mit Apache installiert.
Sobald ich extension=php_msql.dll laden will kann Apache nicht sauber
starten und sagt PHP startup :unable to load dynamic library
"ext/php_msql.dll" couldnt find module.
Das modul ist aber dort. Pfad stimmt auch :extension_dir = "./ext/".

was kann das problem sein?
muß man eine Umgebungsvariable setzen oder so?
Danke im vorhinein
Rolf

Re: unable to load dynamic library

am 05.11.2006 18:54:27 von Gofixs

Versuche es mal mit
extension_dir = "C:\php5\ext"

also statischer pfad
und das \ am ende auch weg
und kann auch sein das ,," auch weg muss (zumindest will ZendStudio
sie nicht)

Re: unable to load dynamic library

am 05.11.2006 22:46:36 von Rolf Brauser

>das ,," auch weg muss
also extension_dir = c:\Programme\php502\ext ?
geht aber auch nicht : (
noch Ideen?
Danke!
Rolf

Re: unable to load dynamic library

am 05.11.2006 23:25:55 von Matthias Esken

On Sun, 5 Nov 2006 15:53:54 +0100, Rolf Brauser wrote:

> ich habe PHP 5,0,2 auf WINXP mit Apache installiert.
> Sobald ich extension=php_msql.dll laden will kann Apache nicht sauber
> starten und sagt PHP startup :unable to load dynamic library
> "ext/php_msql.dll" couldnt find module.
> Das modul ist aber dort. Pfad stimmt auch :extension_dir = "./ext/".

Und du hast dich auch an den Rest der Anleitung unter
http://www.php.net/manual/de/ref.msql.php gehalten?

Ich zitiere: "Anmerkung für Win32-Benutzer: Um dieses Modul unter Windows
zu aktivieren, müssen Sie die Datei msql.dll aus dem DLL-Verzeichnis des
PHP-Paketes für Windows in das SYSTEM32-Verzeichnis Ihres Rechners
kopieren. (Ex: C:\WINNT\SYSTEM32 or C:\WINDOWS\SYSTEM32)"

Gruß,
Matthias

Re: unable to load dynamic library

am 08.11.2006 00:22:53 von Rolf Brauser

> Und du hast dich auch an den Rest der Anleitung unter
> http://www.php.net/manual/de/ref.msql.php gehalten?
>
> Ich zitiere: "Anmerkung für Win32-Benutzer: Um dieses Modul unter Windows
> zu aktivieren, müssen Sie die Datei msql.dll aus dem DLL-Verzeichnis des
> PHP-Paketes für Windows in das SYSTEM32-Verzeichnis Ihres Rechners
> kopieren. (Ex: C:\WINNT\SYSTEM32 or C:\WINDOWS\SYSTEM32)"

Hallo Matthias
ja, ich habe msql.dll in C:\WINDOWS\SYSTEM32 kopiert.
Ich habe auch bei den Umgebungsvariablen (Benutzervariablen) hinzugefügt:
Name: PATH
Wert: ;c:\Programme\php
....wie es im Tutorial steht

selbe Fehlermeldung beim Apachestart

Gruß
Rolf

Re: unable to load dynamic library

am 08.11.2006 19:40:37 von Matthias Esken

On Wed, 8 Nov 2006 00:22:53 +0100, Rolf Brauser wrote:

>> Ich zitiere: "Anmerkung für Win32-Benutzer: Um dieses Modul unter Windows
>> zu aktivieren, müssen Sie die Datei msql.dll aus dem DLL-Verzeichnis des
>> PHP-Paketes für Windows in das SYSTEM32-Verzeichnis Ihres Rechners
>> kopieren. (Ex: C:\WINNT\SYSTEM32 or C:\WINDOWS\SYSTEM32)"
>
> ja, ich habe msql.dll in C:\WINDOWS\SYSTEM32 kopiert.
> Ich habe auch bei den Umgebungsvariablen (Benutzervariablen) hinzugefügt:
> Name: PATH
> Wert: ;c:\Programme\php
> ...wie es im Tutorial steht

Tja, dann weiß ich auch nicht weiter - vor allem weil ich mein Lebtag noch
nie mit mSQL gearbeitet habe. Eine vielleicht blöde Frage: Sind die beiden
DLLs auch garantiert diejenigen die zu der aktuellen PHP-Version passen?
Wenn du mal eine ältere PHP-Version auf dem System hattest und dann einfach
den Installer für eine neue Version verwendet hast, dann sind die korrekten
DLLs mit hoher Wahrscheinlichkeit nicht mitgekommen. Die Extensions finden
sich typischerweise nur im "zip package".

Gruß,
Matthias

Re: unable to load dynamic library

am 08.11.2006 20:02:14 von Rolf Brauser

> Tja, dann weiß ich auch nicht weiter - vor allem weil ich mein Lebtag noch
> nie mit mSQL gearbeitet habe. Eine vielleicht blöde Frage: Sind die beiden
> DLLs auch garantiert diejenigen die zu der aktuellen PHP-Version passen?
> Wenn du mal eine ältere PHP-Version auf dem System hattest und dann
> einfach
> den Installer für eine neue Version verwendet hast, dann sind die
> korrekten
> DLLs mit hoher Wahrscheinlichkeit nicht mitgekommen. Die Extensions finden
> sich typischerweise nur im "zip package".
>
> Gruß,
> Matthias

Hallo,
ich habe mich vertippt, es war eigentlich immer die mysql.dll aber für beide
gelten ja die gleichen Regeln also sollte es egal sein. Aber es war sicher
das aktuelle Package aus der zip Version und es ist eine Erstinstallation.
Danke jedenfalls für deine Hilfe.
Vielleicht schaffe ich es ja noch.
lg
Rolf.

Re: unable to load dynamic library

am 08.11.2006 20:34:39 von Matthias Esken

On Wed, 8 Nov 2006 20:02:14 +0100, Rolf Brauser wrote:

>> Tja, dann weiß ich auch nicht weiter - vor allem weil ich mein Lebtag noch
>> nie mit mSQL gearbeitet habe.

> ich habe mich vertippt, es war eigentlich immer die mysql.dll aber für beide
> gelten ja die gleichen Regeln also sollte es egal sein.

Argl!

OK, die benötigte Datei dabei ist die libmysql.dll. Auf meinem System habe
ich die nicht mal ins Systemverzeichnis von Windows geworfen, sondern
einfach den Pfad um das bin-Verzeichnis von MySQL ergänzt. Bei mir läuft
das einwandfrei.

Gewisse Bauchschmerzen habe ich auch bei deinem Ansatz, den Pfad über die
benutzerdefinierten Systemvariablen zu setzen. Wenn der Webserver als
anderer Benutzer läuft als der angemeldete Benutzer, dann ist der Pfad dort
nicht verfügbar. Mach mal ein phpinfo() und schau mal, ob im Bereich
"Environment" wirklich der korrekte Pfad steht. Im Bereich "PHP Core"
kannst du dann auch gleich noch den Eintrag für extension_dir überprüfen.
Bei mir habe ich das fest verdrahtet auf d:/php/ext/ gesetzt (ja, die
Vorwärtsslashes sind auch unter Windows korrekt).


Grundsätzlich empfehle ich natürlich noch den Umstieg auf eine neuere
Version von PHP und die Verwendung der mysqli-Funktionen statt der
mysql-Funktionen. Es spricht doch zumindest sicher nichts gegen die
Verwendung der Version 5.0.5 wenn es schon unbedingt die 5.0-Schiene sein
muss, aber eigentlich kannst du auch mit 5.1.6 nichts falsch machen. Die
5.2.0 hingegen ist mir noch ein wenig frisch. :-)

Gruß,
Matthias