PHP は、Nginx Connection Close でアクティブに切断し、background_PHP チュートリアルでignore_user_abort を実行します。 は、Nginx Connection Close でアクティブに切断し、background_PHP は、Nginx Connection Close でアクティブに切断し、background_PHP チュートリアルでignore_user_abort を実行します。 チュートリアルでignore_user_abort を実行します。 は Connection Close とignore_user_abort を積極的に切断し、Nginx の下でバックグラウンドで実行します
過去 2 日間、SVN を呼び出して複数のサーバーの更新を同期する PHP は、Nginx Connection Close でアクティブに切断し、background_PHP チュートリアルでignore_user_abort を実行します。 は、Nginx Connection Close でアクティブに切断し、background_PHP は、Nginx Connection Close でアクティブに切断し、background_PHP チュートリアルでignore_user_abort を実行します。 チュートリアルでignore_user_abort を実行します。 プログラムを作成しました。コミット中に長時間ブロックされることを避けるために、待機せずにトリガーのみをリクエストする方法を見つける必要があります。プログラムの更新が完了して結果を返すのは時間がかかりすぎるので、PHP は、Nginx Connection Close でアクティブに切断し、background_PHP チュートリアルでignore_user_abort を実行します。 は、Nginx Connection Close でアクティブに切断し、background_PHP は、Nginx Connection Close でアクティブに切断し、background_PHP チュートリアルでignore_user_abort を実行します。 チュートリアルでignore_user_abort を実行します。 をアクティブに切断する方法を検討しました。午後中ずっと作業した結果、幸いにも多くの問題が見つかりました。主な原因は、Nginx があまりにも面倒だったということです。 。
早速、コードを示します:
リーリー
追加説明:
Apache には通常問題はありません。Windows で xampp を使用してデバッグしましたが、最初はサーバーが Nginx であることがわかりました。
さまざまな条件でN回テストした後、バグは存在しないはずです。 。 。
ignore_user_abort() 関数の問題についても話しましょう
ブラウザを閉じたときに、プログラムがバックグラウンドで実行し続けるかどうかを決定します (以下の例では、テスト時にタイムアウト制限を 0 に設定する必要はありません。1 ~ 2 分に設定するだけです。それ以外の場合は、 HTTP サービスの再起動には時間がかかる場合があります)
簡単に言えば、ユーザーのブラウザを閉じた後もプログラムの実行を継続したい場合は、次のコードを追加する必要があります:
リーリー
ただし、後続のプログラム (主に while ループ) の状況に応じて少し異なります。
通常、プログラムでは制御のために接続ステータスを監視できます:
リーリー
ただし、これら 2 つの関数が正しく動作するには前提条件があります。つまり、プログラムが動作するには、出力コンテンツがあり、現在の Web サーバーの出力キャッシュよりも大きい必要があります。
単にスペース エコー ''; を出力する場合、それを検出するのに数千回のループがかかる可能性があるため、ステータスをより迅速に検出するには、ループするたびにステータス検出をトリガーするのに十分な内容を出力する必要があります。
そこで、ここでよく問題が発生します。ブラウザが切断されると、ignore_user_abort(true); が使用されていない場合でも、出力がないためプログラムは実行を継続し、タイムアウトが発生すると無限ループが実行され続けます。セット、そして幸運なことに、そうでなければ彼は本当に死んでいたでしょう。
以下のテストコードを投稿してください(写真を投稿するのは主に盗難防止のためです、へへ〜)
リーリー
この文をコメントアウトしてみてください
// echo str_repeat(’ ‘, 65536);
また
set_time_limit(0); 使用しない方が良いです 0
http://www.bkjia.com/PHP は、Nginx Connection Close でアクティブに切断し、background_PHP チュートリアルでignore_user_abort を実行します。 は、Nginx Connection Close でアクティブに切断し、background_PHP は、Nginx Connection Close でアクティブに切断し、background_PHP チュートリアルでignore_user_abort を実行します。 チュートリアルでignore_user_abort を実行します。jc/1036923.htmlwww.bkjia.com本当http://www.bkjia.com/PHP は、Nginx Connection Close でアクティブに切断し、background_PHP チュートリアルでignore_user_abort を実行します。 は、Nginx Connection Close でアクティブに切断し、background_PHP は、Nginx Connection Close でアクティブに切断し、background_PHP チュートリアルでignore_user_abort を実行します。 チュートリアルでignore_user_abort を実行します。jc/1036923.html技術記事 PHP は、Nginx Connection Close でアクティブに切断し、background_PHP チュートリアルでignore_user_abort を実行します。 は、Nginx Connection Close でアクティブに切断し、background_PHP は、Nginx Connection Close でアクティブに切断し、background_PHP チュートリアルでignore_user_abort を実行します。 チュートリアルでignore_user_abort を実行します。 は、Nginx で Connection Close とignore_user_abort を積極的に切断します。過去 2 日間、PHP は、Nginx Connection Close でアクティブに切断し、background_PHP チュートリアルでignore_user_abort を実行します。 は、Nginx Connection Close でアクティブに切断し、background_PHP は、Nginx Connection Close でアクティブに切断し、background_PHP チュートリアルでignore_user_abort を実行します。 チュートリアルでignore_user_abort を実行します。 は、複数のサーバーで更新を同期するためにバックグラウンドで実行されていました。