次のコードをすべて完全にテストすると、php で sleep() 関数を長時間使用すると問題が発生します。
<?php
set_time_limit(0);
$i = 0;
while($i < 10) {
echo $i.'<br />';
if($i == 5){
echo 'sleeping 5 secs<br />';
sleep(5);
echo 'waking up<br />';
}
$i++;
}
?>
*****OUTPUT****
0
1
2
3
4
5
sleeping 5 secs
waking up
6
7
8
9
*****OUTPUT****
5秒間スリープし、その後「目覚め」が問題なくエコーされますが、スクリプトがスリープしている秒数を上げると、15分と言って出力は次のようになります。
*****OUTPUT****
0
1
2
3
4
5
sleeping 900 secs //(15 mins)
*****OUTPUT****
スクリプトは 15 分間のスリープ後に強制終了されたようです!! 何が原因でしょうか? set_time_limit(0); で max_execution_time フラグを無限に設定したことに注意してください。スクリプトの上部にあります。
私はどんな助けにも感謝します、ありがとう!