Запуск php-скриптов в режиме командной строки выдает предупреждения

3122
Jeffrey04

Всякий раз, когда я запускаю свой скрипт командной строки php, перед тем, как скрипт действительно выводится на экран, php всегда возвращает кучу сообщений об ошибках следующим образом:

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 

Однако предупреждения, похоже, не мешают моим скриптам работать должным образом (хотя в нем говорится, что некоторые библиотеки не могут быть загружены, но я все еще могу использовать их в своих скриптах). В настоящее время я использую php5.2, установленный через macports для Leopard 10.5.7

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 

и я переключаюсь на 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 

Я делаю что-то не так? Есть ли способ удалить предупреждения, возвращаемые во время инициализации php?

1
Те библиотеки, где они должны быть? random 14 лет назад 0

3 ответа на вопрос

1
quack quixote

I've seen a similar question somewhere; it was recommended to do all deactivations first, then all activations, in case some modules are dependent on others. So change your script to:

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

Вы можете проверить, какой файл php.ini используется, поскольку в некоторых системах на основе Unix php имеет отдельные файлы php.ini для интерфейсов mod_php и cli.

если это так - проверьте настройки в файле cli php.ini.

0
Mark

Еще одна мысль - деактивировать все расширения php, чтобы деактивировать php и активировать php, а затем активировать расширения.

На всякий случай есть другие зависимости

Похожие вопросы