PHP超时覆盖没有明确的解释

时间:2014-04-19 19:36:20

标签: php mysql timeout

我有一个PHP脚本没有任何" set_time_limit()"定义。 PHP.ini max_execution_time = 30 该脚本打开一个mysql连接并在同一连接上执行可变循环查询,然后在处理后关闭。 循环是可变的,脚本可以在1秒到1000秒的任何时间运行。 我希望脚本能够以默认的30秒限制中止,但这不会发生。

我怀疑mysql连接正在取代PHP超时默认值并阻止脚本中止。有人知道这是否可行?

脚本非常复杂,把它放在这里是没有意义的。但它肯定没有时间限制。

注意:我不是要设置时间限制,这种行为实际上对我的脚本有用。我只想更多地了解这种行为。

1 个答案:

答案 0 :(得分:0)

感谢Jono20201。

所以这个问题解释了它:

PHP max_execution_time not timing out

总结:没有考虑在脚本之外花费的时间(例如MySQL运行查询),因此set_time_limitmax_execution_time无法做任何事情。

在Windows上除外。根据PHP文档:

set_time_limit

  

set_time_limit()函数和配置指令   max_execution_time仅影响脚本的执行时间   本身。花在执行之外的活动上的任何时间   使用system(),流操作等系统调用的脚本   确定最大值时不包括数据库查询等   脚本运行的时间。在Windows上不是这样   测量时间是真实的。