PHP FastCGI SAPI: перезагрузка конфигурации PHP

Я использую PHP FastCGI SAPI в своей среде веб-хостинга для запуска приложений PHP. Для порождения процессов FCGI я использую вспомогательную программу spawn-fcgi. Моя проблема заключается в том, что всякий раз, когда я изменяю файл php.ini, мне приходится убивать и перезапускать каждый сервер FastCGI, чтобы новая конфигурация вступила в силу.

Есть ли способ перезагрузить конфигурацию PHP (т.е. директивы php.ini), не перезапуская каждый сервер FastCGI? Я пытаюсь отправить сигнал зависания (т.е. kill -HUP PHPCGIPID) к серверам, но это приведет к прекращению работы серверов.

3 ответа

Решение

Насколько я знаю, интерпретатор PHP FastCGI не реагирует на такие сигналы, как HUP, USR1 или же USR2 перезагрузить его конфигурацию.

Возможно, PHP-FPM поможет вам достичь того, чего вы хотите. С другой стороны, это требует исправления PHP.

Если вы используете PHP5, попробуйте это

sudo /etc/init.d/php5-fpm reload

Иначе

sudo /etc/init.d/php-fpm reload

Эта команда корректно перезапустит сервер, не закрывая существующие соединения.

Если серверы создаются автоматически, убейте их. Если они запускаются вручную, перезапустите их. PHP не имеет возможности перезагрузить свою собственную конфигурацию - и вообще, убить / перезапустить не проблема. Есть ли причина, по которой вы не можете убить их в этом случае?

Другие вопросы по тегам