[英]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"));
,它没有返回错误...
当然,我重新启动了我的服务器十几次。
我还能做些什么来解决我的问题?
我的系统:
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 reload
或apachectl -k graceful
地重新启动 apache 服务器。 正如 apache文档所说:
USR1 或优雅信号使父进程建议子进程在当前请求后退出(或者如果他们没有提供任何服务则立即退出)。 父级重新读取其配置文件并重新打开其日志文件。 当每个子节点死亡时,父节点会用新一代配置中的子节点替换它,它会立即开始处理新请求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.