Nginx + PHP-FPM produzieren 502 fehlerhaftes Gateway anstelle eines schwerwiegenden Fehlers?


11

Ich teste derzeit Symfony2 mit Nginx und PHP-FPM. Ich benutze auch Xdebug.

Symfony2 wird mit einem Demo-Bundle geliefert. Ich wollte die neue Behandlung schwerwiegender Fehler, die mit Symfony 2.2.0 einhergehen, testen, indem ich einen Syntaxfehler im Acme / Demo-Bundle erstelle. Warum ich das mache, ist die Serverantwort 502 schlechtes Gateway.

Wenn ich jedoch einen Syntaxfehler in der Datei app_dev.php mache (also bevor das Framework ausgelöst wird), informiert mich Xdebug über den schwerwiegenden Fehler.

Und überraschenderweise wird der Symfony-Fehlerbehandler wie erwartet angezeigt, wenn ich diesen Tippfehler behebe und dann den Syntaxfehler im Acme / Demo-Bundle neu erstelle. Und schließlich, wenn alle Tippfehler behoben werden (Seite funktioniert) und dann denselben Tippfehler erneut erstellen (erneut in Acme / Bundle), erhalte ich ein schlechtes Gateway.

Hast du eine Ahnung davon?


Irgendein Update? Ich habe das gleiche Problem
— Kevin Robatel

Hier auch für Updates
— Zaki Aziz

Welche Zeile wird in Ihrem nginx error.log angezeigt, wenn Sie den fehlerhaften Gateway-Fehler erhalten? Dies ist zu 90% ein falscher Hinweis auf einen PHP-FPM-Socket. Können Sie uns auch Ihre Nginx-Konfiguration und die von Ihnen verwendete PHP-FPM-Pool-Konfiguration anzeigen?
— Bert

Antworten:


1

Dies ist mir gestern passiert. Es gab einen Fehler bei der Übergabe von nginx an php5-fpm. Es stellte sich heraus, dass der php-fpm-Dienst so konfiguriert war, dass er den falschen Socket abhört.

In /etc/php5/php-fpm.conf habe ich geändert zu:

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

und in allen / etc / nginx / stellen Sie sicher, dass fastcgi_pass unix: /var/run/php5-fpm.sock

HTH


Nein, meine Konfiguration funktioniert, da ich die App verwenden kann. Es ist nur in diesem speziellen Szenario, das ich beschrieben habe.
— Jchatard

Versuchen Sie, die Puffer zu wechseln. stackoverflow.com/questions/27173945/…
— Ryan

0

Sie können das genaue Problem verfolgen, indem Sie die Nginx-Protokolle überprüfen.

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

502 liegt daran, dass beim Herstellen einer Verbindung zum php-fpm-Prozess ein Problem auftritt. Log kann Ihnen weitere Details geben. Wenn Sie das Protokoll isolieren möchten, erwähnen Sie separates error_log unter dem Speicherort Ihrer PHP-Anwendung, wie z

    location <name> {

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

    }

(Wenn nginx versucht, eine Verbindung zu einem anderen Port / phpfpm / Socket herzustellen, erhalten Sie möglicherweise eine Antwort.)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.