PHP-CGI comenzó a servir páginas en blanco


8

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?

Respuestas:


2

Supercaché genera versiones completas de páginas en caché, además de hacer algún otro almacenamiento en caché interno, es posible que haya algún tipo de problema de sincronización en situaciones de alta carga. Verificaría su carpeta de caché para asegurarme de que no contenga archivos en blanco. Si es así, probablemente tenga un problema de bloqueo de archivos. Resolver un problema de este tipo puede ser complicado y probablemente requerirá que abra un ticket de error, ya que es probable que sea un problema con el código en sí.


1

¿ha intentado realmente detener el servicio fcgi e iniciarlo nuevamente en lugar de reiniciarlo? He tenido cosas extrañas similares al reiniciar fcgi


1
El problema no vino de reiniciar. Sucedió espontáneamente de la noche a la mañana cuando recibí un montón de visitantes de un volcado de enlaces llamado Reddit.
Desconocido

1

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.


Supongo que debería haberlo hecho, pero ya reinicié PHP para que la gente pudiera ver la página. No vi ningún error en el registro de mi servidor.
Desconocido


1

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:

error_reporting = E_ALL & ~E_NOTICE
display_errors = On

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.