1

I am using PHP FastCGI SAPI on my web hosting environment to run PHP applications. To spawn FCGI processes I use spawn-fcgi helper program. My problem is whenever I make a change to php.ini file, I have to kill and respawn each FastCGI server for the new configuration to take effect.

Is there a way to reload PHP configuration(ie. php.ini directives) without respawning each FastCGI server? I try sending hangup signal (ie. kill -HUP PHPCGIPID) to the servers but this will result in termination of the servers.

Emre Yazici
  • 567
  • 6
  • 12

3 Answers3

1

If the servers are spawned automatically, kill them. If they’re manually started, restart them. PHP doesn’t have the ability to reload its own configuration — and generally, killing/restarting is not a problem. Is there a reason why you can’t kill them in this instance?

Mo.
  • 2,166
  • 16
  • 9
1

If you user PHP5 try this

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

Otherwise

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

This command will restart server gracefully without closing existing connections.

1

As far as I know, PHP's FastCGI interpreter doesn't react to signals like HUP, USR1 or USR2 to reload its configuration.

Maybe PHP-FPM could help you to achieve what you want. On the downside, it requires patching PHP.

joschi
  • 20,747
  • 3
  • 46
  • 50