Mi PHP-CGI comenzó a servir páginas en blanco sin razón aparente hasta que reinicié el proceso.
Quiero saber por qué.
Lamentablemente, el archivo de configuración de "producción" de PHP no tiene error_log por defecto. Mi registro de errores de Nginx tampoco mostró errores relacionados con PHP. Este es probablemente un caso desesperado, pero lo pregunto por si acaso.
He aquí mi arreglo
- Nginx 0.8.2
- PHP 5.2.6-3ubuntu4.1 con Suhosin-Patch 0.9.6.2 (cli) (construido: 23 de abril de 2009 14:37:14)
- PHP APC 3.0.19-2
- spawn-fcgi v1.6.2 (ipv6) - envoltorio fastcgi de lighttpd
¿Alguna idea de lo que pudo haber causado el error?
Actualizar
Creo que he aislado el problema. He estado usando Monit para reiniciar automáticamente PHP cada vez que comenzó a quedar en blanco. Mis registros de errores de PHP están en blanco.
Pero descubrí que si desactivaba un complemento de Wordpress llamado WP-SuperCache, mi PHP dejaba de restablecerse cada ~ 10 horas. Hasta ahora mi PHP ha estado funcionando durante 3 días seguidos. ¿Alguien tiene alguna sugerencia sobre esto?
Verifique el estado de respuesta de sus solicitudes si vuelve a ocurrir (por ejemplo, curl -i) y si el estado no es 200, verifique sus páginas de error (específicamente las que tienen el número de error que se muestra) y asegúrese de que no configurado para redirigir de una manera que podría causar un bucle infinito.
Si el estado de respuesta es 200, verifique si hay algún texto en la respuesta que no sean los encabezados HTTP.
fuente
Este es un problema común, lo mejor que puede hacer es reiniciar su spawn-fcgi todas las noches y ver sus registros de errores. Aquí se puede encontrar un pequeño programa de registro de python que reiniciará su php.
http://hostingfu.com/article/keeping-your-php-fastcgi-processes-alive
fuente
No es una respuesta, sino una sugerencia: reemplazar spawn-fcgi con php-fpm es más personalizable.
PD. tal vez tenga una redirección de página de error especial 50x en nginx.conf
UPD: hoy me he encontrado con un problema similar cuando nginx + php comenzó a servir páginas en blanco. Mi investigación mostró que enviaba una página en blanco, lo que sea que php lanzara una excepción. Puede ser una especie de directiva php.ini para servir en blanco en lugar de un error. Debería examinar los registros y etc ... wip.
UPD2: Mire su php.ini, hay 2 parámetros que debe cambiar para ver los errores de php:
fuente
La cláusula "espontáneamente sucedió de la noche a la mañana" suena interesante ... ¿es posible que su host haya comenzado a agregar encabezados de estado adicionales a todo el tráfico? Si es así, es posible que vea este error:
Joomla! php, FastCGI, página en blanco y encabezado duplicado 'Estado'
fuente