我的PHP文件有一个执行时间超过30秒的问题。
在搜索后,我在代码的开头添加了set_time_limit(0);,但文件在30秒后仍然超时,并显示500 error。
log: PHP Fatal error: Maximum execution time of 30 seconds exceeded in /xxx/xx/xxx.php
safe-mode : off发布于 2012-08-17 12:18:30
检查php.ini
ini_set('max_execution_time', 300); //300 seconds = 5 minutes
ini_set('max_execution_time', 0); //0=NOLIMIT发布于 2015-07-10 09:36:13
这是一个旧的帖子,但我想我应该发布这个link,因为它在这个问题上对我有很大的帮助。从本质上讲,它所说的是服务器配置可以覆盖php配置。摘自文章:
例如,mod_fastcgi有一个名为“-
-timeout”的选项,用于控制脚本的空闲时间。因此,如果脚本在那么多秒内没有向fastcgi处理程序输出任何内容,则fastcgi将终止它。设置有点像这样:
Apache <-> mod_fastcgi <-> php processes这篇文章还有其他的例子和进一步的解释。希望这对其他人有帮助。
发布于 2014-10-07 22:58:55
我通常在主循环中使用set_time_limit( 30 ) (因此每次循环迭代被限制为30秒,而不是整个脚本)。
我在多个数据库更新脚本中这样做,这些脚本通常需要几分钟才能完成,但每次迭代不到一秒-保持30秒的限制意味着如果我愚蠢到创建一个无限循环,脚本就不会陷入无限循环。
我必须承认,我选择30秒作为限制有点随意-我的脚本实际上可以用2秒代替,但考虑到实际应用程序,我觉得30秒更合适-当然,您可以使用您认为合适的任何值。
希望这能有所帮助!
https://stackoverflow.com/questions/11999678
复制相似问题