Выполнение сценариев PHP через режим командной строки дает предупреждения

Каждый раз, когда я запускаю свой 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
задан 19.06.2014, 13:37

3 ответа

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

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

0
ответ дан 17.12.2019, 01:01

Другая мысль - деактивирует все php форты расширений, деактивирование php активирование php затем активирует расширения.

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

0
ответ дан 17.12.2019, 01:01

Я видел подобный вопрос где-нибудь; рекомендовалось сделать все деактивации сначала, затем все активации, в случае, если некоторые модули зависят от других. Так измените свой сценарий на:

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
1
ответ дан 17.12.2019, 01:01

Теги

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