2016-09-16 12 views
0

PHPまたはApacheが無限ループを止めないのはなぜですか?なぜタイムアウトは無限ループを停止しません

while (true) 
{ 
    sleep(5); 
} 

Apacheはデフォルトのタイムアウトを持っている= 300 PHPの - max_execution_timeに= 30

しかし、このループは時間かけて作業することができます。どうして?

+0

最大時間後にApacheがあなたの 'while'ループを止めたがっていますか?なぜあなたはそれを望んでいますか? –

+0

これをタイムアウトしないでください。 – hxss

答えて

0

sleep()はスクリプト外で発生するため、スクリプトの最大実行時間には影響しません。

注意:関数set_time_limit()と設定ディレクティブmax_execution_timeは のみスクリプト 自体の実行時間に影響を与えます。 スクリプトを実行している最中にsystem()、sleep()を使用してシステムコールなどのスクリプトの実行 が実行されなかった場合、sleep()関数、データベースクエリなどは含まれません。 。 http://php.net/manual/en/function.sleep.php

+0

ありがとう – hxss

関連する問題