Was ist ein effizienter Weg, um Probleme mit einem „weißen Bildschirm des Todes“ zu beheben?


18

Einige Male war ich in einer Position, in der das Front-End einer Joomla-Website ein leerer Bildschirm ohne Inhalt ist, der manchmal als "weißer Bildschirm des Todes" bezeichnet wird.

Dies ist aufgetreten, nachdem eine Website verschoben wurde, und es ist auch unerwartet auf einer zuvor funktionierenden Website aufgetreten.

Angenommen, es gibt verschiedene Ursachen. Wie kann dieses Problem effizient behoben werden?

Antworten:


14
  1. Ändern Sie die Fehlerberichterstattung auf Maximum

    • Loggen Sie sich in den Admin-Bereich ein
    • Gehen Sie zu Globale Konfiguration -> Server

    Zuerst müssen Sie die Fehlerberichterstattung auf Maximum setzen

  2. Dateien in FTP bearbeiten

    • Melden Sie sich bei Ihren Joomla-Site-Dateien über FTP an.

    • Suchen Sie Ihre index.php-Datei im Stammverzeichnis Ihrer Website.

    • Öffne die index.php und füge diesen Code direkt nach der ersten Zeile der Datei ein:

      ini_set('display_errors', TRUE); error_reporting(E_ALL); 
      
  3. Bearbeiten Sie die Datei PHP.ini

    In der PHP.ini-Datei müssen Sie diese beiden Einstellungen ändern:

    • Setzen Sie Anzeigefehler auf Ein: display_errors = On

    • Festlegen der Fehlerberichterstattung: error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT

  4. Überprüfen Sie Ihr Server-Protokoll

    Abschließend erhalten Sie ein Fehlerprotokoll mit der Fehlermeldung Fehlerpfad & Fehlergrund

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


2
Außerdem würde ich empfehlen, die Firebug-Konsole in Ihrem Browser zu installieren und einzuschalten. Sobald Sie fertig sind, besuchen Sie den White Screen of Death. Sie werden überrascht sein, was Sie manchmal finden.
TryHarder

1
Eine andere Sache, ich finde normalerweise, dass der Weiße Bildschirm des Todes etwas mit der .htaccess-Datei zu tun hat.
TryHarder

1
In seltenen Fällen kann dies daran liegen, dass die zu ladende Datei eine defined('FOO') or die();Zeile verwendet, aber FOOnicht definiert ist.
Andrew Eddie

10

Diese anderen Antworten werden Sie wahrscheinlich zur Antwort führen. Als kleines Problem ist mir jedoch aufgefallen, dass einige Plugins selbst error_reporting eingerichtet haben und die Fehlerberichterstattung von Joomla außer Kraft setzen können Zeit, bis die Site geladen wird, wobei Plugins der Hauptverursacher sind.

Andere Seiten manuell überprüfen, wird geladen? Wenn es sich um ein Modul oder eine Komponente handelt, die nur auf der Startseite geladen wird, können Sie es leichter isolieren. Auch das Aktualisieren Ihrer Erweiterungen ist eine gute Idee, wenn es funktioniert hat, bevor Ihre Umgebung möglicherweise PHP 5.2 war, und wenn Sie auf 5.3 oder 5.4 umgestiegen sind, ist ein schwerwiegender Fehler aufgetreten, der durch die Unterschiede verursacht wurde.

Normalerweise kann ein Update einer Erweiterung dieses Problem beheben, sofern es aktiv gewartet wird. In einigen Fällen kann es sich jedoch auch um Ihre Vorlage handeln.


1
Ich mache das auch in umgekehrter Reihenfolge und deaktiviere alle Erweiterungen und aktiviere sie dann nacheinander, bis die Site nicht mehr funktioniert. Gleiche Idee.
David Fritsch

1
Manchmal kann das gleichzeitige Ausschalten zu einer Unterbrechung führen. Nicht immer, aber es passierte nur einmal, daher war eine nach der anderen unsere Lösung.
Jordan Ramstad

6

In diesen Fällen schalten Sie die Joomla-Fehlerberichterstattung wie unten gezeigt maximal ein. Bildbeschreibung hier eingeben Sobald die Fehlerberichterstattung aktiv ist, versuchen Sie, die Webseite neu zu laden. Es werden nun einige Fehlersätze angezeigt. Tatsächlich haben Sie gerade die ersten Informationen gefunden, die debuggt werden müssen, um den Fehler zu beheben Bildbeschreibung hier eingeben

Weitere grundlegende Tipps zum Debuggen finden Sie in diesem Blog: http://www.readybytes.net/blog/item/a-beginners-guide-to-start-debugging-joomla.html


2

Es scheint, dass niemand erwähnt hat, dass die Ausgabepufferung deaktiviert wurde - daher werde ich es hier erwähnen ...

Die Ausgabepufferung ist für das Debuggen sehr unangenehm, und selbst wenn Sie die Fehlerberichterstattung auf Maximum setzen und die php.iniEinträge hinzufügen , funktioniert sie immer noch nicht (die Fehler werden immer noch nicht angezeigt). Dies kann deaktiviert werden, indem Sie einfach output_buffering = offdie .htaccessDatei wie hier erwähnt hinzufügen (beachten Sie, dass dies möglicherweise nicht in allen Umgebungen funktioniert).

Ein weiteres Problem, das zu einer leeren Seite führt, besteht darin, dass der Host selbst möglicherweise die Fehlerberichterstattung deaktiviert hat. In diesem Fall muss der Host kontaktiert werden, da viele Hosts das Überschreiben ihrer eigenen Einstellungen nicht zulassen.


1

Wenn Sie SEF-URLs aktiviert haben und die .htaccess-Datei von Joomla! Verwenden, stellen Sie sicher, dass mod_rewrite auf dem Server aktiviert ist.

In vielen Fällen ist die .htaccess-Datei der Täter. Wenn also mod_rewrite aktiviert ist, empfehle ich, die .htaccess-Datei zu sichern und dann das Original zu löschen (oder umzubenennen), um festzustellen, ob dies einen Unterschied macht.

Ich würde auch empfehlen, die Firebug-Konsole in Ihrem Browser zu installieren und auszuführen. Es werden häufig Hinweise angezeigt, mit denen Sie das Problem aufspüren können (dies gilt für viele verschiedene Probleme).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.