PHP-FPM Workers портят загрузку php.ini?

PHP-FPM Workers портят загрузку php.ini?

Я установил PHP 5.3.8 из исходников на Ubuntu Natty. Я также включил FPM во время настройки.

Однако у меня возникли проблемы с установкой расширений PHP. Когда я добавляю расширение в файл php.ini (например, extension=apc.so) и перезапускаю PHP (например, /etc/init.d/php-fpm restart), я получаю ошибку, подобную той, что приведена ниже:

Starting php-fpm PHP Warning:  Module 'apc' already loaded in Unknown on line 0
<br />
<b>Warning</b>:  Module 'apc' already loaded in <b>Unknown</b> on line <b>0</b><br />
PHP Warning:  Module 'geoip' already loaded in Unknown on line 0
<br />
<b>Warning</b>:  Module 'geoip' already loaded in <b>Unknown</b> on line <b>0</b><br />
PHP Warning:  Module 'imagick' already loaded in Unknown on line 0
<br />
<b>Warning</b>:  Module 'imagick' already loaded in <b>Unknown</b> on line <b>0</b><br />
PHP Warning:  Module 'memcache' already loaded in Unknown on line 0
<br />

В моей конфигурации PHP-FPM есть настройка pm.start_servers = 5, поэтому у меня около 5 активных PHP-FPM-воркеров. Они все пытаются загрузить файл php.ini, когда я перезапускаю PHP (отсюда и сообщение, что модуль уже загружен)?! Если да, есть ли способ предотвратить это, чтобы остановить ошибки, поскольку они становятся фатальными, когда я загружаю Zend Loader?

Заранее спасибо.

решение1

Я решил эту проблему ранее на StackOverflow. Вот ссылка на информацию.

Каждый ли PHP-FPM Worker загружает php.ini по отдельности?

Ваше здоровье.

решение2

Следующая команда покажет, какие .ini-файлы используются:

ubuntu@server:~$ php --ini
Configuration File (php.ini) Path: /usr/local/etc
Loaded Configuration File:         /usr/local/etc/php-cli.ini
Scan for additional .ini files in: /usr/local/etc/php
Additional .ini files parsed:      /usr/local/etc/php/apc.ini,
/usr/local/etc/php/memcache.ini,
/usr/local/etc/php/xhprof.ini

Это должно помочь вам в устранении неполадок.

В большинстве случаев вам не нужно редактировать php.iniнапрямую, а вместо этого переопределить/расширить конфигурацию, поместив дополнительные .ini-файлы в каталог ( /usr/local/etc/phpв моем примере).

Если это не установлено/недоступно, вам необходимо настроить команду, ./configureвключив --with-config-file-scan-dir.

Кстати,dotdebможет быть лучшим вариантом для вас.

Связанный контент