Назад | Перейти на главную страницу

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

Я использую 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.