【发布时间】:2011-05-17 10:28:13
【问题描述】:
是否有充分的理由不将 PHP 配置变量 max_execution_time 设置为 0?
一位同事最近签入了对添加的文件的更改:
ini_set('max_execution_time', 0);
对于在将输出返回给用户之前进行了一些复杂处理的页面来说,默认值太低了。
手册指出设置的主要目的是:
防止编写不佳的脚本占用服务器。
但还要继续说明:
您的 Web 服务器可以有其他超时配置,这些配置也可能会中断 PHP 执行。 Apache 有一个 Timeout 指令,而 IIS 有一个 CGI 超时功能。两者都默认为 300 秒。有关具体详细信息,请参阅您的 Web 服务器文档。
我们在 Apache 下运行,因此 Timeout 设置适用。是否有任何理由不将max_execution_time 全局设置为零?我主要好奇不将其设置为零时是否有我忽略的好处。
【问题讨论】:
-
在 php 7 中,它是 ini_set('max_execution_time', '0'); (0 是一个字符串,否则你会得到一个 TypeError)。是的,如果您需要执行繁重的计算脚本,这在开发中是个好主意。
标签: php