ホームページ >バックエンド開発 >PHPの問題 >php-fpmでタイムアウトを設定する方法

php-fpmでタイムアウトを設定する方法

藏色散人
藏色散人オリジナル
2021-05-24 09:05:373444ブラウズ

php-fpm タイムアウトの設定方法: 1. 内容を「request_terminate_timeout = 30」に設定します; 2. 内容を「max_execution_time = 30」に設定します。

php-fpmでタイムアウトを設定する方法

この記事の動作環境:nginx1.0.4システム、PHP7.1バージョン、DELL G3コンピュータ

php-fpm nginxタイムアウトパラメータsettings

php-fpm:
request_terminate_timeout = 30
php.ini:
max_execution_time = 30

request_terminate_timeout は、max_execution_time が何らかの理由でスクリプトを終了できない場合に適しており、この php-fpm リクエストは強制終了されます。

Web リクエスト PHP の実行時間は 2 つの側面によって制御されます。1 つは php.ini の max_execution_time です (スリープ、http リクエストが応答を待つ時間はカウントされないことに注意してください。ここでは、実際の実行時間)、もう 1 つは php-fpm request_terminate_timeout 設定で、リクエストの開始から n 秒をカウントします。

この時間を超えると、PHP-FPM はスクリプトの実行を終了するだけでなく、

スクリプトを実行するワーカー プロセスも終了します。したがって、Nginx はそれ自体と通信するための接続が切断されたことを検出し、クライアントに 502 エラーを返します。

nginx の主要なパラメータは、fastcgi 関連のタイムアウト、つまり fastcgi_connect_timeout、fastcgi_read_timeout、fastcgi_send_timeout です。

これらの nginx パラメーターの対象はすべて nginx であるため、fastcgi_connect_timeout は nginx が fastcgi に接続するためのタイムアウト時間を意味し、fastcgi_read_timeout は nginx が fastcgi のコンテンツを読み取るためのタイムアウト時間を意味し、fastcgi_send_timeout は nginx のタイムアウトを意味します。コンテンツを fastcgi に送信するための時間。

Nginx 504 ゲートウェイ タイムアウトは、実行可能な PHP-CGI が要求されなかったことを意味します。

Nginx 502 Bad Gateway は、要求された PHP-CGI は実行されましたが、リソースの読み取りが完了していないため、PHP-CGI プロセスが終了したことを意味します。

推奨学習: 「PHP ビデオ チュートリアル

以上がphp-fpmでタイムアウトを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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