2010-09-01 29 views
16

Obtengo un 502 Bad Gateway de Nginx en una línea de código PHP que funciona bien en otros lugares de mi programa ($this->provider = new OAuthProvider();), y que funcionó bien antes. Este es el mensaje que recibo en el registro de errores Nginx para cada 502:Nginx + PHP-FPM 502 Bad Gateway

recv() fallado (104: Conexión restablecida por pares), mientras que la lectura de cabecera de respuesta de aguas arriba

En el PHP-FPM ingrese hay una advertencia para cada 502:

[aDVERTENCIA] [www piscina] niño 17427 salieron en la señal 11 SIGSEGV después 142070.657176 segundos desde el inicio

Después de intentar una serie de cambios en el nginx.conf, estoy atascado y agradecería cualquier sugerencia sobre qué hacer a continuación.

Estoy ejecutando Nginx 0.7.67 y PHP 5.3.2 en Ubuntu 10.04.

Respuesta

5
+0

Era el error # 17689, que se corrigió en la revisión 301127 del tronco de oauth. Descargado el tronco y ahora funciona genial. Gracias por su ayuda, la próxima vez buscaré en la base de datos de errores :) – Andreas

2

Tu proceso de PHP se colgó con un segfault ("señal 11 SIGSEGV"), lo que provocó que Nginx viera "restablecimiento de conexión por pares" (PHP es el "par" en este caso, y Nginx te dice "Mira, él me colgó antes de que pudiera obtener una respuesta de él ").

Consulte la página de la base de datos de errores de PHP en how to report a bug someone will want to fix para averiguar cómo obtener una traza inversa del segfault para que pueda denunciarlo.

+0

Gracias por la explicación. – Andreas

0

he tenido problemas similares con nginx/lighttpd php +-fcgi (usando desove-fcgi), ¿Utiliza cualquier caché de código de operación para php? Lo que encontré hace bastante tiempo es que xcache estaba causando un comportamiento extraño en php-fcgi, algunos procesos de php-fcgi murieron al azar, no pude encontrar ningún patrón. Yo recomendaría echar un vistazo a la configuración de la APC (u otra caché del código de operación), si está utilizando alguna. Ahora estoy usando nginx + php-fpm en freebsd y no tengo problemas.

+0

No, no uso ningún caché de código de operación en este caso. Sin embargo, incluir APC está en mi lista de tareas pendientes. El problema que tuve se debió a un error en la implementación de oauth y ya estaba arreglado en el trunk. – Andreas

1

tuve el mismo problema con APC. así que lo eliminé e instalé eaccelerator en su lugar. no hay problema hasta el momento.

+0

También tenía este problema con php-fpm con APC. No cargando la extensión APC, problema resuelto ... (o más bien, funcionó, ya que no puedo usar APC así ...) – Kissaki

+0

mh, necesito APC, ¿hay alguna solución para esto? –

0

ZendOptimizer + APC + php-fpm 5.2.14 proporciona SIGSEGV constantemente reproducible incluso en phpinfo() ;.

-2

Intenta desconectar suhosin. A veces se cuelga Apache.

Cuestiones relacionadas