Nginx +PHP-FPM 502 Плохой шлюз


Я получаю 502 Bad Gateway от Nginx в строке PHP-кода, который отлично работает в других местах моей программы ($this->provider = new OAuthProvider();) и который отлично работал раньше. Это сообщение, которое я получаю в журнале ошибок Nginx для каждого 502:

Ошибка Recv() (104: Сброс соединения одноранговым узлом) при чтении заголовка ответа из вышестоящего

В журнале PHP-FPM для каждого 502 есть предупреждение:

[ПРЕДУПРЕЖДЕНИЕ] [www пула] ребенок 17427 вышел по сигналу 11 СИГСЕГВ после 142070.657176 секунд от начала

После внесения ряда изменений в файл nginx.conf я застрял и был бы очень признателен за любые указания, что делать дальше.

Я использую Nginx 0.7.67 и PHP 5.3.2 в Ubuntu 10.04.

 16
Author: Drew Noakes, 2010-09-01

6 answers

Возможноhttp://pecl.php.net/bugs/bug.php?id=17689 или идентификатор ошибки #18138

 5
Author: Rob Olmos, 2010-09-01 08:39:40

Ваш PHP-процесс потерпел крах из-за segfault ("сигнал 11 SIGSEGV"), из-за чего Nginx увидел "сброс соединения одноранговым узлом" (в данном случае PHP является "одноранговым узлом", и Nginx говорит вам: "Послушайте, он повесил трубку, прежде чем я смог получить от него ответ").

Проверьте страницу базы данных ошибок PHP на как сообщить об ошибке, которую кто-то захочет исправить, чтобы узнать, как получить обратную трассировку segfault, чтобы вы могли сообщить об этом.

 2
Author: TML, 2010-09-01 08:35:56

У меня была такая же проблема с APC. поэтому я удалил его и вместо него установил eaccelerator. пока никаких проблем.

 1
Author: metthyn, 2010-10-06 06:16:21

У меня были аналогичные проблемы с nginx/lighttpd+php-fcgi (с использованием spawn-fcgi), используете ли вы какой-либо кэш кода операции для php? Что я обнаружил довольно давно, так это то, что xcache вызывал странное поведение в php-fcgi, некоторые процессы php-fcgi случайным образом умирали, я не смог найти какой-либо закономерности. Я бы рекомендовал взглянуть на настройки apc (или другого кэша кодов операций), если вы их используете. Прямо сейчас я использую nginx + php-fpm во freebsd и не испытываю никаких проблем.

 0
Author: nimmen, 2010-09-01 13:41:12

ZendOptimizer + APC +php-fpm 5.2.14 дает постоянно воспроизводимый SIGSEGV даже на phpinfo();.

 0
Author: Mickey Mouse, 2010-12-14 18:25:19

Попробуйте выключить сухосин. Иногда это приводит к сбою Apache.

 -2
Author: Slavikus, 2012-02-04 09:59:27