実際にはバックグラウンドで自動的に実行されます。これはphp5.5へのアップデートですか?
非常に単純なコード
<br />header('Content-Type:text/html;charset=utf-8');<br />date_default_timezone_set('PRC');<br />set_time_limit(0);<br />$date=date("H:i:s");<br />while($date<'11:14:00') //这句测试时要调整一下<br />{<br />$date=date("H:i:s");<br />file_put_contents("test.txt", $date);<br />}<br />
ログイン後にコピー
以前の経験によれば、ブラウザを実行した後にブラウザを閉じると、ignore_user_abort( を除く) プログラムは停止するはずです。 true) が使用されます。
ここ 2 日間でシステム環境を apache2.4 php5.5 に更新したときに、ブラウザを閉じても、設定した時間が経過するまでプログラムが実行され続けることがわかりました。
それは私が過去に理解した概念に問題があるのでしょうか、それとも更新された設定に問題があるのでしょうか、それとも何か他のものなのでしょうか?
------解決策のアイデア----------------------では、あなたの経験は間違っています。
PHP の説明によると:
リモート ユーザーが STOP ボタンをクリックし、スクリプトがデータを再度出力しようとすると、PHP は接続が中断されたことを検出し、クローズ トリガー関数を呼び出します。
プログラムには出力がないため、php はユーザーがオフラインであることを検出せず、プログラムは実行を続けます