如何强制重新加载 php.ini 文件?
Posted
技术标签:
【中文标题】如何强制重新加载 php.ini 文件?【英文标题】:How to force reloading php.ini file? 【发布时间】:2015-02-08 09:49:30 【问题描述】:我上周配置了一个网络服务器,它运行良好。
今天我请求它的主页,我看到一个时区错误,因为它应该配置到我的 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"));
,它没有返回错误...
当然,我重启了我的服务器十几次。
我还能做些什么来解决我的问题?
我的系统:
-
红帽 6
Apache 2.4
PHP 5.5.19 与
libphp5.so
apache 模块
【问题讨论】:
可能相关:restart php-fpm 再见了:restart php-fpm serverfault.com/questions/21437/… 【参考方案1】:要强制重新加载 php.ini,您应该重新启动 apache。
从命令行尝试sudo service apache2 restart
。
或sudo /etc/init.d/apache2 restart
【讨论】:
【参考方案2】:TL;DR;如果重启 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
或您系统上的任何等价物。
以上命令直接取自this server fault answer
【讨论】:
对于 DigitalOcean Ubuntu 用户,sudo systemctl restart php7.2-fpm.service
成功了。【参考方案3】:
您也可以使用service apache2 reload
或apachectl -k graceful
优雅地重启apache 服务器。
正如 apache doc 所说:
USR1 或优雅信号使父进程通知 孩子在当前请求后退出(或立即退出 如果他们不提供任何服务)。父母重新阅读它的 配置文件并重新打开其日志文件。随着每个孩子的死亡 父母用新一代的孩子替换它 配置,立即开始处理新请求。
【讨论】:
【参考方案4】:sudo apachectl restart
在 2021 年完成任务,运行 Mac 最新的 Big Sur 操作系统
对于 Homebrew apache 用户,它是 brew services restart httpd
【讨论】:
以上是关于如何强制重新加载 php.ini 文件?的主要内容,如果未能解决你的问题,请参考以下文章
PHP如何增加session.gc_maxlifetime?更改 php.ini 不起作用