目次
PHPを5.3.28から5.3.29にアップグレードするときにNginxで502エラーが発生しました
ホームページ バックエンド開発 PHPチュートリアル PHP を 5.3.28 から 5.3.29 にアップグレードすると Nginx 502 エラーが発生する_PHP チュートリアル

PHP を 5.3.28 から 5.3.29 にアップグレードすると Nginx 502 エラーが発生する_PHP チュートリアル

Jul 13, 2016 am 09:54 AM
php 間違い

PHPを5.3.28から5.3.29にアップグレードするときにNginxで502エラーが発生しました

この記事では主にPHPを5.3.28から5.3.29にアップグレードするときにNginxで502エラーが発生することを紹介しますので、必要な方は参考にしてください。それ

今日、PHP を 5.3.28 から 5.3.29 にアップグレードしたところ、Web サイトを開けず、「502 不正なゲートウェイ」というメッセージが表示されます。静的リソースにはアクセスできますが、PHP ファイルにアクセスすると 502 になります。

実際、私は以前にこの問題を発見しましたが、解決策が見つからなかったので、PHP をバージョン 5.3.28 のままにしておきました。

私の以前の気質によれば、すべてのソフトウェアは最新の安定バージョンを使用する必要がありますが、PHP などのソフトウェアは例外です。バージョンが高くなると、多くのプログラムに互換性がなくなるため、比較的互換性に関しては 5.3 が最適です。 . 1つ、もちろん5.2もあります。

私は強迫性障害に本当に耐えられません。公式は 5.3.29 が 5.3 の最後のバージョンだと言いました。この問題は最後のバージョンで発生し、まだ解決されていないのが残念です。

オンラインで検索したところ、この問題を抱えている人はいませんでした。私が作成した同じアップグレード スクリプトが 5.3.25 から 5.3.28 まで使用されていたのは当然です。シリーズと同じコンパイルと設定プロセスを使用している場合、問題はありません。

5.3.25 から 5.3.28 までは問題がないのに、5.3.29 以降は問題がないのはなぜですか?

今日やっと問題の根本原因が分かりました、そして私も酔っていました…

追加のポートを占有したくないので、NginxとPHP-FPMの間では常にUnixソケットを使用していましたが、この方法の方が効率的であると言われています。

PHPを5.3.29にアップグレードした後、502エラーが発生し、Webページを開いた瞬間にエラーが報告されました。PHPの実行タイムアウトによって発生したNginxプロンプト502のようなものではなく、PHP-FPMが異常終了したようなものでした。 、または Ngxin が fastcgi に接続できませんでした。

PHP-FPM ログの使用もイライラします。ログを有効にし、ログのパスを設定しましたが、それでもログが生成されません。

それでは、前のアイデアから推測された理由に基づいて問題を見つけてみましょう:

1.PHP-FPMは動作を開始するとすぐに異常終了しました;

2.Ngxinはfastcgiに全く接続されていません。

502 エラーが発生しても、バックグラウンドの PHP-FPM プロセスは終了せず、まだ生き続けているため、最初の可能性は直接排除されます。

次に、おそらく 2 番目の可能性があります。Nginx と PHP-FPM の設定ファイルを従来の「アドレス:ポート」形式に変更しました。

PHP-FPM設定ファイル内:

聞く = 127.0.0.1:1234

Nginx設定ファイル内:

fastcgi_pass 127.0.0.1:1234

サービスを再起動すると、ウェブサイトが正常に開きました。

Nginx が PHP-FPM に接続されていないようですが、何が問題なのでしょうか? 更新ログを確認したところ、関連するプロジェクトが見つかりませんでした。

NginxとPHP-FPMの設定ファイルを元に戻しました。

PHP-FPM設定ファイル内:

Listen = /tmp/php-cgi.sock

Nginx設定ファイル:

fastcgi_pass unix:/tmp/php-cgi.sock;

サービスを再起動し、すぐに 502 を再度取得します。

まず思いついたのはパーミッションの確認でした。とりあえずテストなので何も言わずにPHP-FPMのsockファイルのパーミッションを777に変更しました。

chmod 777 /tmp/php-cgi.sock

Web ページを直接開くと開くことができます

権限の問題です。サービスを再起動して、php-cgi.sock の権限を確認してください。

-rwx------. 1 root root 663 9月18日 00:16 php-cgi.sock

これ。 。 。理由は非常に明確です。Nginx が PHP-FPM に接続できないのも不思議ではありません。php-cgi.sock の権限は 700 です。

しかし、ここで疑問が生じます。5.3.29 にアップグレードされていない別のサーバーを確認したのに、同じコンパイルと構成プロセスが 5.3.28 より前のバージョンで正常に機能するのはなぜですか?

srw-rw-rw- 1 root root 0 9月16日 21:11 php-cgi.sock

その権限が 666 であることがわかりました。これは...理解できません...なぜ 5.3.28 のデフォルトの権限設定は 666 であるのに、5.3.29 では 700 になるのでしょうか?

解決策を見つけるには、PHP ドキュメントを確認してください

PHP-FPMに設定ファイルを追加します。最初の2つの項目はphp-cgi.sockの所有者とユーザーグループを指定するもので、最後の項目はファイルのアクセス許可を指定するものです。

listen.owner = www

listen.group = www

listen.mode = 0666

サービスを再起動すると問題は解決します。

http://www.bkjia.com/PHPjc/997705.html

www.bkjia.com

http://www.bkjia.com/PHPjc/997705.html技術記事この記事では主に、PHP を 5.3.28 から 5.3.29 にアップグレードするときに Nginx で発生する 502 エラーについて説明します。必要な方は、今日の PHP の 5.3.28 から 5.3.29 へのアップグレードを参照してください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles