2010-09-01 14 views
16

Ich bekomme eine 502 Bad Gateway von Nginx auf einer Linie von PHP-Code, der in anderen Orten meines Programms ($this->provider = new OAuthProvider();) gut funktioniert, und das hat gut früher funktioniert. Dies ist die Botschaft, die ich in dem Nginx Fehlerprotokoll erhalte für jeden 502:Nginx + PHP-FPM 502 Schlecht Gateway

recv() ist fehlgeschlagen (104: Verbindung von Peer zurückgesetzt) ​​beim Lesen Response-Header von Upstream

Im PHP-FPM log es eine Warnung für jede 502:

[WARNUNG] [Pool www] Kind 17427 auf Signal 11 SIGSEGV nach 142.070,657176 Sekunden vom Start verlassen

Nachdem ich eine Reihe von Änderungen an der nginx.conf versucht habe, stecke ich fest und würde mich sehr über Hinweise freuen, was als nächstes zu tun ist.

Ich benutze Nginx 0.7.67 und PHP 5.3.2 auf Ubuntu 10.04.

Antwort

5

vielleicht http://pecl.php.net/bugs/bug.php?id=17689 oder Bug-ID # 18138

+0

Es war der Bug # 17689, der in der Revision 301127 des OAutH-Rumpfes behoben wurde. Habe den Kofferraum runtergeladen und jetzt funktioniert es super. Vielen Dank für Ihre Hilfe, nächstes Mal werde ich die Fehlerdatenbank selbst durchsuchen :) – Andreas

2

Ihr PHP-Prozess stürzte mit einem segfault ab ("signal 11 SIGSEGV"), was Nginx dazu brachte, "connection reset by peer" zu sehen (PHP ist in diesem Fall der "Peer") und Nginx sagt Ihnen "Schau, er legte auf mich, bevor ich eine Antwort von ihm bekommen konnte ").

Schauen Sie sich die PHP Bug-Datenbankseite unter how to report a bug someone will want to fix an, um herauszufinden, wie Sie ein Backtrace des Segfault erhalten, damit Sie es melden können.

+0

Danke für die Erklärung. – Andreas

0

ich ähnliche Probleme mit nginx/lighttpd + php-fcgi (mit Laich fcgi) hatte, verwenden Sie einen Opcode Cache für PHP? Was ich vor einiger Zeit gefunden habe, ist, dass xcache seltsames Verhalten in php-fcgi verursachte, einige php-fcgi Prozesse zufällig starben, ich konnte kein Muster finden. Ich würde empfehlen, einen Blick auf APC (oder andere Opcode-Cache) Einstellungen zu werfen, wenn Sie eine verwenden. Im Moment bin ich mit nginx + php-fpm auf freebsd und habe keine Probleme.

+0

Nein, ich benutze keinen Opcode-Cache in diesem Fall. Einschließlich APC ist auf meiner Todo-Liste. Das Problem, das ich hatte, war auf einen Fehler in der oauth Implementierung zurückzuführen und es war bereits im Stamm behoben. – Andreas

1

Ich hatte das gleiche Problem mit APC. also habe ich es entfernt und stattdessen eaccelerator installiert. bisher kein Problem.

+0

hatte auch dieses Problem mit php-fpm mit APC. Die APC-Erweiterung wird nicht geladen, das Problem wurde gelöst ... (oder besser, ich konnte nicht arbeiten, da ich APC nicht verwenden kann ...) – Kissaki

+0

mh, ich brauche APC, gibt es dafür eine Lösung? –

0

ZendOptimizer + APC + php-fpm 5.2.14 gibt konstant reproduzierbare SIGSEGV sogar auf phpinfo() ;.

-2

Versuchen Sie, Suhosin auszuschalten. Manchmal stürzt Apache ab.

Verwandte Themen