php で 502 エラーが発生する原因は、 1. php.ini のmemory_limit が小さすぎる、 2. php-fpm.conf の max_children または max_requests の設定が不当である、 3. 実行時間が長い、 です。 php プログラムが長すぎてタイムアウトしてしまいました。
一般的な理由は次のとおりです:
1. php.ini のmemory_limit が小さすぎます (個別の php プログラム プロセスがある場合)メモリが非常に大きい場合は注意が必要です);
2. php-fpm.conf の max_children または max_requests の設定が無理です;
設定が大きすぎる場合小さい場合はリクエストを処理するためのCGIプロセスが不足し、大きすぎる場合はしばらくは正常に応答してもその後応答に時間がかかる状況が発生します。
3. nginx エラー ログを確認し、アップストリームからの応答ヘッダーの読み取り中に pstream が大きすぎるヘッダーを送信したことを確認してから、クライアントのヘッド バッファーと fastcgi バッファーのサイズが小さすぎて 32K に設定できるかどうかを確認します。
#4 . PHP プログラムの実行時間が長すぎてタイムアウトします。nginx と fastcgi のさまざまなタイムアウト設定を確認してください。 5. php-fpm には、最大値を指定するパラメータ max_requests があります。各子が処理できるリクエストの数。クローズされます; 処理リクエストの数が多い場合、この値を小さく設定しすぎると、自殺と子の作成が頻繁に発生し、多大な時間が無駄になります。この時子供達が全員自殺しそうになると再構築する前にリセットされるが、要求に応じた子供達がいなかったため502人が出現した。この値は、より大きい値または 0 (無限) に設定できます。 さらに関連する知識を知りたい場合は、php 中国語 Web サイト をご覧ください。
以上がphp で 502 エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。