繁体   English   中英

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

[英]How to force reloading php.ini file?

我上周配置了一个 Web 服务器,它运行良好。

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

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

Configuration File (php.ini) Path   /opt/rrh/php/lib 

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

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

 ls -la /opt/rrh/php/lib   
 -rwxrwxrwx  1 apache root 68448 Nov 22 10:10 php.ini

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

当然,我重新启动了我的服务器十几次。

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

我的系统:

  1. 红帽 6
  2. 阿帕奇 2.4
  3. 带有libphp5.so apache 模块的 PHP 5.5.19

要强制重新加载 php.ini,您应该重新启动 apache。

从命令行尝试sudo service apache2 restart 或者sudo /etc/init.d/apache2 restart

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

使用服务包装脚本

service php-fpm restart        # typical
service php5-fpm restart       # debian-style
service php7.0-fpm restart.    # debian-style PHP 7

使用 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

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

systemctl restart php-fpm.service        # typical
systemctl restart php5-fpm.service       # uncommon
systemctl restart php7.0-fpm.service     # uncommon PHP 7

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

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

您还可以使用service apache2 reloadapachectl -k graceful地重新启动 apache 服务器。 正如 apache文档所说:

USR1 或优雅信号使父进程建议子进程在当前请求后退出(或者如果他们没有提供任何服务则立即退出)。 父级重新读取其配置文件并重新打开其日志文件。 当每个子节点死亡时,父节点会用新一代配置中的子节点替换它,它会立即开始处理新请求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM