2009-07-03 14 views
1

Ich versuche eine systemweite Installation von PEAR auf meinem Webserver durchzuführen. Als ich go-pear.bat in den PHP-Installationsordnern von der Befehlszeile ausführen bekomme ich folgende Fehler Fenster auftauchen:Warum meldet PHP PEAR, dass es einige DLLs unter Windows nicht finden kann?

--------------------------- 
php.exe - Unable To Locate Component 
--------------------------- 
This application has failed to start because php_mbstring.dll was not found. 
Re-installing the application may fix this problem. 

--------------------------- 
php.exe - Unable To Locate Component 
--------------------------- 
This application has failed to start because php_pdo.dll was not found. 
Re-installing the application may fix this problem. 

ich auch folgende Warnungen im Kommandozeilenfenster durch das Skript emittieren sehen:

PHP Warning: PHP Startup: Unable to load dynamic library './ext/php_exif.dll' - The specified modul 
e could not be found. 
in Unknown on line 0 

Alle diese Module werden in der Datei php.ini konfiguriert (die sich im php-Installationsordner c:\php befindet).

Sie werden auch korrekt von php_info() gemeldet.

Ich benutze PHP 5.2.6 Windows nicht threadsicher Build auf FastCGI auf IIS6.

Update:

ich auch versucht habe (wie von acrosman vorgeschlagen) Einstellung extension_dir=c:\php und extension_dir=c:\php\ext aber ohne Erfolg.

Ich erinnere mich auch daran, den php-cgi.exe Prozess zu töten (FastCGI hält es am Leben) nach jeder php.ini Änderung, um ein erneutes Lesen zu erzwingen.

Update 2:

Das sieht wie ein PHP-Problem und nicht ein Problem mit PEAR, php.exe von der Kommandozeile erzeugt die gleichen Fehler ausgeführt wird.

Antwort

2

gelöst. Es stellt sich heraus, dass php.exe benötigt, um die PHP-Erweiterungen (c:\php\ext) Ordner im System PATH zu sehen.

0

Überprüfen Sie, dass das Erweiterungsverzeichnis in Ihrer php.ini-Datei richtig eingestellt ist. Ich vermute, dass es als ein relativer Pfad festgelegt ist, und diese Einstellung Probleme verursacht, wenn sie von der Kommandozeile ausgeführt wird:

extension_dir ="C:\PHP\ext" 
+0

Das bricht tatsächlich die Dinge mehr, weil ich denke, php hängt ext/modul.dll an diesen Pfad an. – Kev