ホームページ >バックエンド開発 >PHPチュートリアル >バックグラウンドで自動的に実行されるのですが、これはphp5.5へのアップデートでしょうか?

バックグラウンドで自動的に実行されるのですが、これはphp5.5へのアップデートでしょうか?

WBOY
WBOYオリジナル
2016-06-13 12:11:20914ブラウズ

実際にはバックグラウンドで自動的に実行されます。これは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 はユーザーがオフラインであることを検出せず、プログラムは実行を続けます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。