Я использую PHP FastCGI SAPI в своей среде веб-хостинга для запуска приложений PHP. Для создания процессов FCGI я использую spawn-fcgi вспомогательная программа. Моя проблема в том, что всякий раз, когда я вношу изменения в файл php.ini, мне нужно убить и возродить каждый сервер FastCGI, чтобы новая конфигурация вступила в силу.
Есть ли способ перезагрузить конфигурацию PHP (т.е. директивы php.ini) без повторного создания каждого сервера FastCGI? Я пытаюсь отправить сигнал зависания (т.е. kill -HUP PHPCGIPID
) к серверам, но это приведет к остановке серверов.
Если вы используете PHP5, попробуйте это
sudo /etc/init.d/php5-fpm reload
В противном случае
sudo /etc/init.d/php-fpm reload
Эта команда корректно перезапустит сервер без закрытия существующих соединений.
Если серверы появляются автоматически, убейте их. Если они запускаются вручную, перезапустите их. PHP не имеет возможности перезагружать собственную конфигурацию - и, как правило, отключение / перезапуск не является проблемой. Есть ли причина, по которой вы не можете их убить в этом случае?
Насколько мне известно, интерпретатор PHP FastCGI не реагирует на такие сигналы, как HUP
, USR1
или USR2
чтобы перезагрузить его конфигурацию.
Может быть PHP-FPM может помочь вам достичь того, чего вы хотите. С другой стороны, это требует исправления PHP.