Nginx + PHP-FPMは、致命的なエラーの代わりに502の悪いゲートウェイを生成しますか?


11

現在、NginxとPHP-FPMでSymfony2をテストしています。Xdebugも使用します。

Symfony2にはデモバンドルが付属しています。Acme/ Demoバンドルに構文エラーを作成して、Symfony 2.2.0に付属する致命的なエラーの新しい処理をテストしたかったのです。なぜそうするのか、サーバーの応答は502の悪いゲートウェイです。

しかし、ファイルapp_dev.phpで構文エラーを作成すると(フレームワークが起動する前に)、Xdebugは致命的なエラーについて通知します。

そして驚くべきことに、そのタイプミスを修正し、Acme / Demoバンドルで構文エラーを再作成すると、Symfonyエラーハンドラーが期待どおりに表示されます。そして最後に、すべてのタイプミス(ページが機能する)を修正し、その同じタイプミス(Acme / Bundleでも同様)を再度作成すると、悪いゲートウェイになります。

これについて何か手がかりはありますか?


すべてのアップデート?同じ問題があります
ケビンロバテル

アップデートもこちら
ザキアジズ

不正なゲートウェイエラーが発生した場合、nginx error.logにはどの行が表示されますか?これは、90%がPHP-FPMソケットを指しているのは間違っています。また、nginxの構成と使用しているPHP-FPMプールの構成を表示できますか?
バート

回答:


1

これは昨日私に起こりました。それはnginxからphp5-fpmへのハンドオフエラーで、php-fpmサービスが間違ったソケットでリッスンするように設定されていたことがわかりました。

/etc/php5/php-fpm.confで次のように変更しました:

listen = /var/run/php5-fpm.sock

すべての/ etc / nginx /でfastcgi_pass unix:/var/run/php5-fpm.sockを確認してください

HTH


いいえ、アプリを使用できるので、私の設定は機能します。これは、この特定のシナリオにのみ当てはまると説明しました。
-jchatard

バッファを変更してみてください。stackoverflow.com/questions/27173945/…–
ライアン

0

nginxログを確認することにより、正確な問題を追跡できます。

/var/log/nginx/sitename.error.log

502は、php-fpmプロセスへの接続に問題があるためです。ログで詳細を確認できます。ログを分離する場合は、次のように、PHPアプリケーションの場所の下に別のerror_logを記述します。

    location <name> {

    error_log /var/log/nginx/site_location.error.log;
  #  error_log /var/log/nginx/site_location.error.log debug;

    }

(nginxが別のポート/ phpfpm / socketに接続しようとしている場合、これから答えを得ることができます)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.