fastcgi php の魔法の fastcgi_finish_request

WBOY
リリース: 2016-07-29 08:45:01
オリジナル
919 人が閲覧しました

少し複雑に聞こえるかもしれませんが、いくつかの例で説明しましょう:

コードをコピーします コードは次のとおりです:


echo 'Example:'
echo '; あるべきか、そうでないのか、それが問題です。';
file_put_contents('log.txt', 'あるべきか、そうでないのか、それが問題です。'


ブラウザ (コマンドラインではありません!) このスクリプトを実行すると、対応する文字列は出力されませんでしたが、対応するファイルが生成されたことがわかりました。これは、fastcgi_finish_request を呼び出した後、クライアントの応答が終了したが、同時にサーバー スクリプトが実行し続けていることを示しています。

この機能を適切に使用すると、アイロンが熱いうちに打つための別の例を次に示します:


コードをコピーします コードは次のとおりです:

echo '例:';
file_put_contents('log.txt', date('Y-m-d H:i:s') . "ビデオ n をアップロード",
file_put_contents(' log.txt', date('Y-m-d H:i:s ') . "形式 n を変換",
file_put_contents('log.txt', date('Y-m-d H:i:s); ') . "画像 n を抽出", FILE_APPEND);



このコードは、時間のかかる操作をシミュレートするために使用されますが、詳細についてはログを参照してください。

最後に、思い出させてください。Yahoo は、Web サイトを高速化するためのベスト プラクティスの中で、バッファを早めにフラッシュすることについて言及しました。これは、PHP のフラッシュ メソッドを使用して、表面的ではありますが、コンテンツをできるだけ早くクライアントに送信することです。この記事とは異なります。紹介した fastcgi_finish_request は少し似ていますが、本質的にはまったく異なるものなので、混同しないようにしてください。
再投稿: このメソッドを調べてみました。呼び出されると、応答が送信され、接続が閉じられますが、前に紹介したフラッシュや Echo の高速化と比較すると、PHP の実行は終了しません。 , この方法は、より簡単にすることができます

さらに、コードの移植性の観点から、次のコードをコードに添付できます:

コードをコピーします

コードは次のとおりです:

if ( !function_exists("fastcgi_finish_request") ) { function fastcgi_finish_request() { } }

は非 fpm 環境でコードのデプロイメントの問題を引き起こしません

上記は、fastcgi php の魔法の fastcgi_finish_request を紹介しており、fastcgi の内容も含めて、PHP チュートリアルに興味のある友人に役立つことを願っています。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!