2016-09-16 31 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