如何强制重新加载php.ini文件?

Fra*_*ste 17 php apache configuration

我上周配置了一个Web服务器,它工作正常.

今天我请求它的主页,我看到一个时区错误,因为它应该配置到我的php.ini文件中.

我尝试phpinfo();在我的网络服务器上,它给了我:

Configuration File (php.ini) Path   /opt/rrh/php/lib 
Run Code Online (Sandbox Code Playgroud)

但是没有加载php.ini文件.

我调查,php文件存在并具有非常大的权限:

 ls -la /opt/rrh/php/lib   
 -rwxrwxrwx  1 apache root 68448 Nov 22 10:10 php.ini
Run Code Online (Sandbox Code Playgroud)

我试试了parse_ini_file("/opt/rrh/php/lib/php.ini"));,它没有返回错误......

当然,我重启了我的服务器十几次.

我还能做些什么来解决我的问题?

我的系统:

  1. Redhat 6
  2. Apache 2.4
  3. 带有libphp5.soapache模块的PHP 5.5.19

TCo*_*per 17

TL; 博士; 如果在重启 apache 或 nginx 后仍然有问题,也可以尝试重启php-fpm服务。

这里的答案并不总是满足强制重新加载 php.ini 文件的要求。在很多情况下,我采取了这些步骤而没有更新,只是在重新启动 php-fpm 服务后才找到我需要的解决方案。因此,如果尽管您知道文件已更新,但重新启动 apache 或 nginx 并没有触发 php.ini 更新,请尝试重新启动 php-fpm。

要重新启动服务:

注意:如果不是 root,则在前面加上 sudo

直接使用 SysV Init 脚本:

/etc/init.d/php-fpm restart        # typical
/etc/init.d/php5-fpm restart       # debian-style
/etc/init.d/php7.0-fpm restart     # debian-style PHP 7
Run Code Online (Sandbox Code Playgroud)

使用服务包装脚本

service php-fpm restart        # typical
service php5-fpm restart       # debian-style
service php7.0-fpm restart.    # debian-style PHP 7
Run Code Online (Sandbox Code Playgroud)

使用 Upstart(例如 ubuntu):

restart php7.0-fpm         # typical (ubuntu is debian-based) PHP 7
restart php5-fpm           # typical (ubuntu is debian-based)
restart php-fpm            # uncommon
Run Code Online (Sandbox Code Playgroud)

使用 systemd(较新的服务器):

systemctl restart php-fpm.service        # typical
systemctl restart php5-fpm.service       # uncommon
systemctl restart php7.0-fpm.service     # uncommon PHP 7
Run Code Online (Sandbox Code Playgroud)

或者您系统上的任何等价物。

以上命令直接取自此服务器故障答案


g_u*_*int 14

要强制重新加载php.ini,你应该重启apache.

sudo service apache2 restart从命令行尝试.要么sudo /etc/init.d/apache2 restart

  • 我已经用`apachectl restart`重启了我的服务 (4认同)
  • 但是如果你从命令行运行PHP会怎么样? (4认同)

Kri*_*ofe 9

您还可以使用优美重新启动Apache服务器service apache2 reloadapachectl -k graceful.正如apache doc所说:

USR1或优雅信号导致父进程建议孩子在他们当前请求后退出(或者如果他们没有提供任何东西则立即退出).父级重新读取其配置文件并重新打开其日志文件.当每个孩子死亡时,父母将其替换为来自新一代配置的孩子,该孩子立即开始提供新请求.