2010-09-01 14 views
16

Otrzymuję 502 Bad Gateway od Nginx na linii kodu PHP, który działa dobrze w innych miejscach mojego programu ($this->provider = new OAuthProvider();), i które działały dobrze wcześniej. Jest to przesłanie mam w dzienniku błędów Nginx dla każdego 502:Nginx + PHP-FPM 502 Bad Gateway

recv() nie powiodło się (104: Połączenie zresetowane przez peer) podczas czytania nagłówka odpowiedzi od góry

W PHP-FPM log jest ostrzeżenie dla każdego 502:

[OSTRZEŻENIE] [basen www] dziecko 17427 wyszedł na sygnale SIGSEGV po 11 sekundach od rozpoczęcia 142070.657176

Po wypróbowaniu wielu zmian w pliku nginx.conf utknąłem i będę bardzo wdzięczny za wszelkie wskazówki, co robić dalej.

Używam Nginx 0.7.67 i PHP 5.3.2 na Ubuntu 10.04.

Odpowiedz

5
+0

To był błąd # 17689, który został naprawiony w wersji 301127 pnia Oautha. Pobrano bagażnik i teraz działa świetnie. Dziękuję za pomoc, następnym razem sam przeszukuję bazę danych błędów :) – Andreas

2

Twój proces PHP zakończył się wraz z segfaultem ("signal 11 SIGSEGV"), który spowodował, że Nginx zobaczył "połączenie resetowane przez peer" (PHP jest "peerem" w tym przypadku, a Nginx mówi ci: "Patrz, on powiesił się na mnie, zanim mogłem uzyskać od niego odpowiedź ").

Sprawdź stronę bazy danych błędów PHP pod numerem how to report a bug someone will want to fix, aby dowiedzieć się, jak uzyskać ślad po awarii, aby móc go zgłosić.

+0

Dzięki za wyjaśnienie. – Andreas

0

miałem podobne problemy z nginx/lighttpd + php-fcgi (za pomocą odradzania-fcgi), należy użyć dowolnego opcode cache dla PHP? Zauważyłem dość dawno temu, że xcache powodowało dziwne zachowanie w php-fcgi, niektóre procesy php-fcgi losowo ginęły, nie mogłem znaleźć żadnego wzorca. Polecam przejrzeć ustawienia apc (lub inne ustawienia pamięci podręcznej), jeśli używasz ich. W tej chwili używam nginx + php-fpm na freebsd i nie mam żadnych problemów.

+0

Nie, w tym przypadku nie używam pamięci podręcznej opcode. W tym APC jest na mojej liście zadań. Problem, który miałem, był spowodowany błędem w implementacji oauth i został już naprawiony w bagażniku. – Andreas

1

Miałem ten sam problem z APC. więc usunąłem go i zainstalowałem eaccelerator. nie ma problemu do tej pory.

+0

Miał również ten problem z php-fpm z APC. Nie ładowanie rozszerzenia APC, problem rozwiązany ... (a raczej pracował, ponieważ nie mogę używać APC w ten sposób ...) – Kissaki

+0

mh, potrzebuję APC, czy istnieje na to rozwiązanie? –

0

ZendOptimizer + APC + php-fpm 5.2.14 daje stale odtwarzalny SIGSEGV nawet na phpinfo() ;.

-2

Spróbuj wyłączyć suhosin. Czasami powoduje awarię Apache.

Powiązane problemy