任何避免重新启动httpd以应用用户的php.ini文件的方法


Any way to avoid restarting httpd to apply a user's php.ini file?

我有一个共享主机服务器托管许多不同的帐户(域)。服务器是标准的LAMP堆栈,使用webmin/virtualmin来管理/创建帐户。

每个域都有自己的/home/[account]/etc/php.ini 文件。 这允许为每个帐户单独调整设置。 例如,可以在此文件中设置Display_Errors。

但是,如果对特定帐户的 php.ini 文件进行了任何更改,则必须重新启动整个 httpd 进程,影响所有托管帐户,才能应用设置。 显然,最终用户没有执行此操作的权限,因此我必须为他们执行此操作。 有没有办法将单个 php.ini 文件应用于该特定域而无需重新启动 httpd 进程?

注意:最终用户没有 SSH 访问权限。

谢谢!

使用

service apache2 reload

而不是

service apache2 restart

apache2代替httpd或特定系统配置所需的任何内容。 service通常是 Ubuntu 的东西;其他系统以不同的方式调用服务。这里的关键术语是restartreload .


如果您不使用libapache2-mod-php,而是使用ProxyPass或 PHP FPM,请将上述替换为

service php5-fpm restart

由于最终用户没有 SSH 访问权限,因此您需要为他们构建某种接口来重新加载服务器,或者在修改时或间隔重新加载配置。

这通常是使用 CRON 作业实现的。