PHP 5.6(FPM+Nginx+1&1 Plesk)下php.ini修改无效求助
首先,phpinfo()显示的/opt/plesk/php/5.6/etc/php.ini确实是当前运行的PHP实例正在加载的配置文件,这个路径完全正确,你编辑的文件没问题。但配置没生效,大概率是以下几个原因导致的,逐一排查:
Plesk域名级配置覆盖全局设置:Plesk允许为每个独立域名单独设置PHP参数,这些设置的优先级高于全局
php.ini。你需要登录Plesk面板,进入对应域名的「PHP设置」页面,查看max_execution_time和max_input_time是否被设置了特定值——如果这里有配置,会直接覆盖你在全局php.ini里的修改,把这里改成你需要的值即可。未重启PHP-FPM服务:如果你的服务器用的是PHP-FPM(Plesk搭配PHP 5.6几乎都是这种模式),仅仅重启Nginx或者服务器是不够的——PHP-FPM是独立的进程,修改配置后必须重启它才能让新配置生效。执行以下命令重启对应版本的PHP-FPM:
# 适用于systemd系统(比如CentOS 7+、Ubuntu 16.04+) systemctl restart plesk-php56-fpm # 适用于init.d系统(比如CentOS 6) service plesk-php56-fpm restart附加配置文件覆盖:打开
phpinfo()页面,找到「Additional .ini files parsed」部分,这里会列出所有被额外加载的.ini配置文件。检查这些文件里有没有设置max_execution_time或max_input_time——如果有,这些值会覆盖全局php.ini的设置,需要修改这些文件里的对应参数。脚本内部代码覆盖:检查你的PHP脚本中是否存在
ini_set('max_execution_time', XX);或者set_time_limit(XX);这类代码,它们会直接在运行时覆盖配置文件的设置。如果有,要么修改这些代码,要么确保它们的值符合你的需求。
内容的提问来源于stack exchange,提问作者popkutt

