2016-09-16 58 views
0

为什么php或apache不停止无限循环?为什么timeout不停止无限循环

while (true) 
{ 
    sleep(5); 
} 

阿帕奇有默认的超时= 300 腓 - 的max_execution_time = 30

但这种循环可以在小时工作。为什么?

+0

你希望你的Apache在最大时间后停止你的'while'循环吗?你为什么要这样? –

+0

不要暂停这个? – hxss

回答

0

由于sleep()发生在脚本之外,因此它不会影响脚本的最大执行时间。

注:set_time_limit()函数的功能和配置指令 的max_execution_time只影响脚本本身 的执行时间。任何时间花费在脚本的执行 以外的活动中,例如使用system()系统调用,睡眠() 函数,数据库查询等等,在确定脚本运行的最长时间时不包括在内。 http://php.net/manual/en/function.sleep.php

+0

非常感谢 – hxss