使用阿里云Linux 系统虚拟主机,访问 PHP 程序网站或者打开某个页面出现报错信息提示 “PHP Fatal error: Maximun execution time of 30 seconds exceeded in….", 如下图:
问题原因
目前 Linux 系统虚拟主机服务器端 php.ini 配置文件中针对 max_execution_time 的设置统一是 30s,这个设定目前不支持修改,如果网站程序某个脚本运行时间超过 30s 就出现这个报错,该参数不能设置过大的原因是因为考虑服务器的稳定性原因,如果该参数过大,在虚拟主机中很容易导致程序缺陷产生对服务器严重的耗资源影响。
解决方法
建议联系网站的程序开发人员调整优化一下程序代码,一般的程序网页脚本超过30秒的运行时间还未结束程序代码需要进行分析优化。该错误场景也常见与程序批量生成静态化页面的后台处理中,如果大批量生成静态页面需要脚本运行较长时间,这在虚拟主机中会导致触发超时参数设置,建议一次生成少量的静态页面来避免该问题;
建议使用阿里云服务器 ECS,该类型主机拥有管理员权限,可以登陆服务器修改 php.ini 配置文件,调整此设置的时间大小,但该产品需要具备一定的服务器维护能力。