Das Ausführen von PHP-Skripts über den Befehlszeilenmodus gibt Warnungen aus

3360
Jeffrey04

Wann immer ich mein PHP-Befehlszeilenskript ausführt, bevor das Skript tatsächlich auf dem Bildschirm ausgegeben wird, gibt php immer eine Reihe von Fehlermeldungen wie folgt aus:

PHP Warning: PHP Startup: Unable to load dynamic library '/opt/local/lib/php/extensions/no-debug-non-zts-20060613/gd.so' - (null) in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library '/opt/local/lib/php/extensions/no-debug-non-zts-20060613/mbstring.so' - (null) in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library '/opt/local/lib/php/extensions/no-debug-non-zts-20060613/mcrypt.so' - (null) in Unknown on line 0 PHP Warning: Module 'memcache' already loaded in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library '/opt/local/lib/php/extensions/no-debug-non-zts-20060613/mysql.so' - (null) in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library '/opt/local/lib/php/extensions/no-debug-non-zts-20060613/mysqli.so' - (null) in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library '/opt/local/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so' - (null) in Unknown on line 0 PHP Warning: Module 'syck' already loaded in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library '/opt/local/lib/php/extensions/no-debug-non-zts-20060613/zip.so' - (null) in Unknown on line 0 PHP Warning: Module 'xdebug' already loaded in Unknown on line 0 

Die Warnungen scheinen jedoch nicht wirklich zu verhindern, dass meine Skripts ordnungsgemäß ausgeführt werden (obwohl bestimmte Bibliotheken nicht geladen werden konnten, aber ich kann sie trotzdem in meinen Skripts verwenden). Ich verwende derzeit php5.2, das über macports für Leopard 10.5.7 installiert ist

hidetoshi:bin jeffrey04$ port installed php5 The following ports are currently installed: php5 @5.2.9_0+apache2+macosx+mysql5+pear+postgresql83 php5 @5.2.9_2+apache2+macosx+mysql5+pear+postgresql83 (active) php5 @5.3.0_1+apache2+macosx+mysql5+pear+postgresql83 php5 @5.3.0_2+apache2+macosx+mysql5+pear+postgresql83 

und ich wechsle über dieses einfache Shellskript zu php5.2

port deactivate php5 @5.3.0_2+apache2+macosx+mysql5+pear+postgresql83 port activate php5 @5.2.9_2+apache2+macosx+mysql5+pear+postgresql83  port deactivate php5-syck @0.55_2 port activate php5-syck @0.55_1  port deactivate php5-memcache @2.2.5_1 port activate php5-memcache @2.2.5_0  port deactivate php5-xdebug @2.0.5_0 port activate php5-xdebug @2.0.4_0  /opt/local/apache2/bin/apachectl restart 

Mache ich etwas falsch? Gibt es eine Möglichkeit, die während der PHP-Initialisierung zurückgegebenen Warnungen zu entfernen?

1
Sind diese Bibliotheken dort, wo sie erwartet werden? random vor 14 Jahren 0

3 Antworten auf die Frage

1
quack quixote

Ich habe irgendwo eine ähnliche Frage gesehen; Es wurde empfohlen, zuerst alle Deaktivierungen und dann alle Aktivierungen durchzuführen, falls einige Module von anderen abhängig sind. Ändern Sie also Ihr Skript in:

port deactivate php5 @5.3.0_2+apache2+macosx+mysql5+pear+postgresql83 port deactivate php5-syck @0.55_2 port deactivate php5-memcache @2.2.5_1 port deactivate php5-xdebug @2.0.5_0  port activate php5 @5.2.9_2+apache2+macosx+mysql5+pear+postgresql83 port activate php5-syck @0.55_1 port activate php5-memcache @2.2.5_0 port activate php5-xdebug @2.0.4_0  /opt/local/apache2/bin/apachectl restart 
0
Eimantas

Sie möchten vielleicht prüfen, welche php.ini-Datei verwendet wird, da php unter bestimmten Unix-basierten Systemen über separate php.ini-Dateien für die Schnittstellen mod_php und cli verfügt.

Wenn dies der Fall ist, sollten Sie die Einstellungen in der cli php.ini-Datei überprüfen.

0
Mark

Ein weiterer Gedanke: Deaktivieren Sie alle PHP-Erweiterungen. Deaktivieren Sie PHP. Aktivieren Sie PHP und aktivieren Sie die Erweiterungen.

Nur für den Fall, dass andere Abhängigkeiten bestehen