¿Cuál es una manera eficiente de solucionar una "pantalla blanca de la muerte"?

18

Muchas veces he estado en una posición en la que el front-end de un sitio web de Joomla es una pantalla en blanco sin contenido, a veces conocida como "pantalla blanca de la muerte".

Esto ocurrió después de que un sitio web se movió y también ocurrió inesperadamente en un sitio web que funcionaba anteriormente.

Suponiendo que puede haber varias causas diferentes, ¿cuál es una manera eficiente de solucionar y solucionar este problema?

Neil Robertson
fuente

Respuestas:

14
  1. Cambiar el informe de errores al máximo

    • Inicie sesión en el área de administración
    • Vaya a Configuración global -> servidor

    Primero debe establecer el Informe de errores al máximo

  2. Editar archivos en FTP

    • Inicie sesión en los archivos de su sitio de Joomla a través de FTP.

    • Encuentre su archivo index.php ubicado en la raíz de su sitio.

    • Abra el index.php y agregue este código directamente después de la primera línea del archivo:

      ini_set('display_errors', TRUE); error_reporting(E_ALL); 
      
  3. Editar archivo PHP.ini

    En el archivo PHP.ini necesita cambiar estas dos configuraciones:

    • Establezca Error de visualización en Activado: display_errors = On

    • Establecer informe de error: error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT

  4. Verifique el registro de su servidor

    Finalmente obtiene un registro de error con el mensaje de error que muestra la ruta de error y la razón del error

Referencia: http://www.ostraining.com/blog/joomla/white-screen-of-death/

Priya Bose
fuente
2
Además de lo anterior, recomendaría instalar y encender la consola firebug en su navegador. Una vez hecho esto, vuelve a visitar la pantalla blanca de la muerte. Te sorprenderá lo que encuentras a veces.
TryHarder
1
Otra cosa, generalmente encuentro que la Pantalla Blanca de la Muerte tiene algo que ver con el archivo .htaccess.
TryHarder
1
En raras ocasiones, puede deberse a que el archivo que se está cargando usa una defined('FOO') or die();línea pero FOOno está definido.
Andrew Eddie
10

Estas otras respuestas probablemente lo llevarán a la respuesta, sin embargo, una cosa que noté como un problema menor es que algunos complementos configuran el informe de errores por sí mismos y que pueden anular el informe de errores de Joomla, por lo que otra forma de solucionar esto es deshabilitar las extensiones una a una tiempo hasta que se carga el sitio, los complementos son el principal infractor.

Revise manualmente otras páginas, ¿se carga? Si lo hace, su módulo o componente solo se carga en la página principal, lo que lo ayuda a aislarlo. También es una buena idea actualizar sus extensiones, si funcionó antes, quizás su entorno era PHP 5.2 y cuando se mudó a 5.3 o 5.4 hubo un gran error por las diferencias.

Normalmente, una actualización de una extensión puede solucionarlo, siempre y cuando se mantenga activamente. Aunque en algunos casos podría ser su plantilla.

Jordan Ramstad
fuente
1
También hago esto de la manera opuesta y apago todas las extensiones y luego las enciendo una por una hasta que el sitio se rompa. La misma idea.
David Fritsch
1
A veces, apagarlos todos a la vez puede provocar un descanso por sí solo. No siempre, pero sucedió una vez, así que uno a la vez fue nuestra solución.
Jordan Ramstad
6

En esos casos, simplemente active el informe de error de Joomla al máximo como se muestra a continuación. ingrese la descripción de la imagen aquí Una vez que el informe de errores esté activo, intente volver a cargar la página web. Ahora le mostrará algunas oraciones de error. En realidad, acaba de encontrar la primera información que debe depurarse para resolver el error ingrese la descripción de la imagen aquí

Puede encontrar más consejos básicos de depuración en este blog: http://www.readybytes.net/blog/item/a-beginners-guide-to-start-debugging-joomla.html

Shyam
fuente
2

Parece que nadie ha mencionado deshabilitar el almacenamiento en búfer de salida, así que lo mencionaré aquí ...

El almacenamiento en búfer de salida es muy desagradable para la depuración, e incluso si configura su informe de errores al máximo y agrega las php.inientradas, aún no funcionará (aún no verá los errores). Esto se puede desactivar simplemente agregando output_buffering = offal .htaccessarchivo como se menciona aquí (tenga en cuenta que esto puede no funcionar en todos los entornos).

Además, otro problema que causa una página en blanco es que el propio host podría haber deshabilitado los informes de errores de su parte; en ese caso, debe contactarse con el host ya que muchos hosts no permiten anular sus propias configuraciones.

itoctopus
fuente
1

Si tiene activadas las URL de SEF y está utilizando el archivo .htaccess de Joomla !, asegúrese de que mod_rewrite esté habilitado en el servidor.

En muchos casos, el archivo .htaccess es el culpable, por lo que suponiendo que mod_rewrite esté habilitado, recomendaría hacer una copia de seguridad del archivo .htaccess y luego eliminar el original (o renombrarlo), para ver si eso hace la diferencia.

También recomendaría instalar y ejecutar la consola firebug en su navegador. A menudo revela sugerencias que puede usar para rastrear el problema (esto es cierto para muchos problemas diferentes).

Esforzarse más
fuente