首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php超时- set_time_limit(0);-不工作

php超时- set_time_limit(0);-不工作
EN

Stack Overflow用户
提问于 2012-08-17 12:14:49
回答 6查看 143.7K关注 0票数 29

我的PHP文件有一个执行时间超过30秒的问题。

在搜索后,我在代码的开头添加了set_time_limit(0);,但文件在30秒后仍然超时,并显示500 error

代码语言:javascript
复制
log: PHP Fatal error:  Maximum execution time of 30 seconds exceeded in /xxx/xx/xxx.php

safe-mode : off
EN

回答 6

Stack Overflow用户

发布于 2012-08-17 12:18:30

检查php.ini

代码语言:javascript
复制
ini_set('max_execution_time', 300); //300 seconds = 5 minutes

ini_set('max_execution_time', 0); //0=NOLIMIT
票数 37
EN

Stack Overflow用户

发布于 2015-07-10 09:36:13

这是一个旧的帖子,但我想我应该发布这个link,因为它在这个问题上对我有很大的帮助。从本质上讲,它所说的是服务器配置可以覆盖php配置。摘自文章:

例如,mod_fastcgi有一个名为“-

-timeout”的选项,用于控制脚本的空闲时间。因此,如果脚本在那么多秒内没有向fastcgi处理程序输出任何内容,则fastcgi将终止它。设置有点像这样:

代码语言:javascript
复制
Apache <-> mod_fastcgi <-> php processes

这篇文章还有其他的例子和进一步的解释。希望这对其他人有帮助。

票数 8
EN

Stack Overflow用户

发布于 2014-10-07 22:58:55

我通常在主循环中使用set_time_limit( 30 ) (因此每次循环迭代被限制为30秒,而不是整个脚本)。

我在多个数据库更新脚本中这样做,这些脚本通常需要几分钟才能完成,但每次迭代不到一秒-保持30秒的限制意味着如果我愚蠢到创建一个无限循环,脚本就不会陷入无限循环。

我必须承认,我选择30秒作为限制有点随意-我的脚本实际上可以用2秒代替,但考虑到实际应用程序,我觉得30秒更合适-当然,您可以使用您认为合适的任何值。

希望这能有所帮助!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11999678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档