PHP脚本FPM环境最大执行时间研究

in 前端 with 0 comment

主要就是max_execution_time这个配置
官方文档这样解释

这设置了脚本被解析器中止之前允许的最大执行时间,单位秒。 这有助于防止写得不好的脚本占尽服务器资源。 默认设置为 30。 从命令行运行 PHP 时,默认设置为 0。

最大执行时间不会影响系统调用和系统操作等。更多细节参见 set_time_limit()。

在 安全模式 下你不能通过 ini_set() 来修改此设置。 唯一的解决方法是关闭安全模式或者在 php.ini 中修改时间限制。

你的 web 服务器也可以有其他超时设置,也有可能中断 PHP 的执行。 Apache 有一个 Timeout 指令,IIS 有一个 CGI 超时功能。 他们默认都是 300 秒。更多具体信息参见你的 web 服务器的文档。
ubuntu 安装的Apache默认超时60s

1、在php.ini里面设置

max_execution_time = 120;

2、通过PHP的ini_set函数设置

ini_set("max_execution_time", "120");

3、通过set_time_limit 函数设置

set_time_limit(120);

一些测试

如果ini_set("max_execution_time", "60")或者set_time_limit(60),设置的比php.ini小的话,实际上仍然是php.ini的生效,
但是抛出的错误是ini_set("max_execution_time", "60")或者set_time_limit(60)里面设置的时长。
Comments are closed.