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?
Antworten:
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
quelle
Sie können das genaue Problem verfolgen, indem Sie die Nginx-Protokolle überprüfen.
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
(Wenn nginx versucht, eine Verbindung zu einem anderen Port / phpfpm / Socket herzustellen, erhalten Sie möglicherweise eine Antwort.)
quelle