设置set_time_limit(0)是个坏主意吗?

时间:2013-07-25 14:58:29

标签: php

我正在对自由职业者制作的脚本进行更改,并在其功能的顶部注意到他已将超时限制设置为0,因此不会超时。这样做会有什么影响吗?或者我应该正确测试他的脚本并计算它需要多长时间以及它是否会在服务器上超时?

编辑 - 添加更多细节。 因此它的脚本创建了一个临时数据库表,并通过从许多不同的表中提取数据来填充它,然后使用mysql outfile将其输出到csv。

1 个答案:

答案 0 :(得分:2)

来自PHP文档:

  

set_time_limit - 限制最长执行时间

     

seconds:最长执行时间,以秒为单位。如果设置为零,则没有时间限制   强加的。

http://nl3.php.net/manual/en/function.set-time-limit.php

如果将时间限制设置为零,则意味着脚本可以永久运行而不会被PHP解释器停止。大多数情况下这是一个坏主意,因为如果你的代码中有一个错误导致无限循环,脚本将永远运行并占用你的CPU。

很多时候我没有充分理由在代码中看过这个,所以我假设开发人员想不到合适的超时而只是设置为0.

有几个正当理由要将超时设置为0,例如,deamon脚本。