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 не имеет возможности перезагрузить свою собственную конфигурацию - и вообще, убить / перезапустить не проблема. Есть ли причина, по которой вы не можете убить их в этом случае?