Ответ 1
возможно http://pecl.php.net/bugs/bug.php?id=17689 или идентификатор ошибки # 18138
Я получаю 502 Bad Gateway
от Nginx в строке PHP-кода, который отлично работает в других местах моей программы ($this->provider = new OAuthProvider();
), и это отлично работало раньше. Это сообщение, которое я получаю в журнале ошибок Nginx для каждого 502:
recv() не удалось (104: Соединение reset на одноранговом узле) при чтении заголовка ответа вверх по течению
В журнале PHP-FPM есть предупреждение для каждого 502:
[ПРЕДУПРЕЖДЕНИЕ] [пул www] ребенок 17427 вышел из сигнала 11 SIGSEGV после 142070.657176 секунд с начала
После нескольких изменений в nginx.conf я застрял и очень ценю любые указатели на то, что делать дальше.
Я запускаю Nginx 0.7.67 и PHP 5.3.2 на Ubuntu 10.04.
возможно http://pecl.php.net/bugs/bug.php?id=17689 или идентификатор ошибки # 18138
Ваш PHP-процесс разбился с помощью segfault ( "сигнал 11 SIGSEGV" ), что заставило Nginx увидеть "соединение reset по peer" (PHP - это "peer" в этом случае, а Nginx говорит вам "Посмотрите, он повесил трубку на меня, прежде чем я смог получить от него ответ" ).
Просмотрите страницу базы данных PHP Bug на как сообщить об ошибке, которую кто-то захочет исправить, чтобы узнать, как получить обратную линию segfault, чтобы вы могли сообщить об этом.
У меня была та же проблема с APC. поэтому я удалил его и вместо этого установил eaccelerator. пока не проблема.
У меня были схожие проблемы с nginx/lighttpd + php-fcgi (с использованием spawn-fcgi), используете ли вы какой-то кеш-код для php? То, что я нашел довольно давно, это то, что xcache вызывал странное поведение в php-fcgi, некоторые процессы php-fcgi случайно умерли, я не смог найти какой-либо шаблон. Я бы порекомендовал взглянуть на настройки apc (или другого кода операции), если вы используете их. Прямо сейчас я использую nginx + php-fpm на freebsd и не имею проблем.
ZendOptimizer + APC + php-fpm 5.2.14 дает постоянно воспроизводимый SIGSEGV даже на phpinfo();.
Попробуйте отключить сухосин. Иногда это приводит к сбою Apache.