4

PHP アプリを Nginx と PHP-FPM で実行しています。

Apacheを使っていた時は、リクエストの中止(ブラウザを閉じる)でphpプロセスが終了していましたが、スクリプトは最後まで実行し続けるようになりました。Nginxのfastcgi_ignore_client_abortオプションはOffありませんし、機能は使っていませんfastcgi_finish_request

そのような行動の理由は何ですか?または、リクエストが中止されたことをphpに伝えるにはどうすればよいですか?

4

2 に答える 2

0

fastcgiはプロセスを開いたままにし、特定のファイルのプロセス内でハンドルを閉じます。これは、fastcgiと通常のcgiの主な違いの1つです。また、phpはブラウザの知識をまったく持っていません。

于 2013-02-21T23:04:14.090 に答える
0

fast-cgiこれが、通常、 よりも優れたパフォーマンスを提供する理由ですmod_php。分岐ではなくスレッド化されたアプローチは、リクエストごとに apache プロセスを開始する (または終了する) オーバーヘッドがないことを意味します。

実行中の子の量を構成して、プロセス マネージャーのドキュメントで消費されるリソースの量を調整できます。

于 2013-02-21T23:32:53.350 に答える