Sie haben eine weiße Seite bei WordPress? Das heißt, Sie sehen keine Inhalte im Admin-Bereich oder sogar im Frontend? Das kann viele Ursachen haben. Ein neues Plugin, ein Theme, ein Update. Wie man die Seite trotzdem wieder erreichbar macht, steht hier.
Der so genannte PHP-Fehlerschutz (existiert seit WordPress 5.2) sollte Sie eigentlich vor solchen Fehlern schützen. Wenn er es nicht tut, lesen Sie hier, wie Sie das Problem lösen.
Weiße Seite im Dashboard oder im Frontend von WordPress?
Das hatten alle schon einmal: der so genannte “White Screen of Death” (zu deutsch etwa “Weiße Seite des Todes”) von WordPress. Man greift über den Browser auf die Website zu und erhält nur noch eine weiße Seite. Blöderweise auch keine Fehlermeldung oder sonst ein Hinweis. Das macht es natürlich schwierig für den Anwender, den Grund herauszufinden.
Ursachensuche: PHP-Fehler oft Schuld an der leeren Seite
Egal wo, eine weiße Seite auftaucht, meist ist ein so genannter Fatal- oder Parse-Error in PHP Schuld. PHP ist die Skriptsprache mit der WordPress seine Befehle ausführt. Kommt es einem der oben genannten Fehler wird die Ausführung sofort abgebrochen. Dadurch bleibt die komplette oder aber nur ein gewisser Teilbereich weiß.
Aber: woher weiß man, dass es sich um einen PHP-Fehler handelt?
Fehlerursache finden: so geht’s.
1. Debugging in WordPress aktivieren
Zuerst einmal sollte man das so genannte Debugging in WordPress aktivieren. Damit lassen sich die PHP-Fehlermeldungen sichtbar machen. Dazu öffnet man die Datei wp-config.php und fügt folgende Zeilen ein (beschrieben unter anderem auch auf der Codex-Seite).
// Einschalten des Debuggings
define( 'WP_DEBUG', true );
// Warnmeldungen anzeigen
define( 'WP_DEBUG_DISPLAY', true );
@ini_set( 'display_errors', 1 );
Wichtig dabei ist, dass man nicht zweimal die gleiche Zeile einfügt. Denn in PHP darf man eine Konstante über define()
nur einmal definieren. Würde man die Konstante doppelt definieren, würde man selbst einen Fehler erzeugen.
Und so könnte es aussehen: die Konstanten müssen vor der Zeile
/* That's all, stop editing! Happy blogging. */
eingefügt werden:
2. Vormals weiße Seite nochmal aufrufen
Nun ruft man die vormals weiße Seite noch einmal auf. Dann sollte man einen oder mehrere Fehlermeldungen auf dem Bildschirm sehen. Eine davon müsste mit Fatal- oder Parse-Error anfangen:
Manche Zeilen beginnen auch mit “Warning”. Diese sind zwar unschön aber sie können erst einmal ignoriert werden, da sie meist nicht Schuld an der weißen Seite sind.
3. Übeltäter herausfinden
Obiges Beispiel zeigt einen (selbst erzeugten) Parse-Error im Plugin “WordPress”-SEO. PHP gibt glücklicherweise immer auch folgendes an:
- die Fehlerursache,
- den Pfad zur Datei wo der Fehler auftrat und
- die Zeile im Skript, wo der Fehler auftaucht.
Im Beispiel oben können wir also folgendes herauslesen:
- Parse-Error (PHP-Fehler)
- Datei /app/…./plugins/wordpress-seo/wp-seo.php ist betroffen
- Zeile 48 ist Schuld am Fehler.
4. Lösungsweg
Nun wissen wir, wo der Fehler steckt. Also können wir das entsprechende Plugin deaktivieren. Was aber, wenn man keinen Zugriff mehr auf das WordPress-Dashboard hat? Dann muss man wie folgt vorgehen:
- Loggen Sie sich über FTP auf dem Server ein, wo auch WordPress installiert ist.
- Navigieren Sie zum entsprechenden Ordner. In unserem Beispiel wp-content/plugins/ und benennen Sie wordpress-seo in wordpress-seo2 um.
- Rufen Sie dann das Admin-Dashboard erneut auf. Die Website sollte nun wieder funktionieren und Sie sollten sich wieder anmelden können.
5. Debugging deaktivieren
Vergessen Sie bitte nicht, das Debugging wieder zu deaktivieren. Es reicht, WP_DEBUG auf false zu setzen:
define( 'WP_DEBUG', false );
Weitere mögliche Ursachen für den “White Screen of Death” und was man tun kann
A) WordPress Core ist beschädigt
Wenn Sie eine Fehlermeldung aus den WordPress-Core-Dateien erhalten, also Dateien im Verzeichnis
- /wp-includes/ oder
- /wp-admin/
kann es sein, dass WordPress an sich beschädigt ist. Vielleicht, weil ein Update fehlschlug. In diesem Fall würde ich ein manuelles WordPress update empfehlen:
- Laden Sie sich die aktuelle Version von wordpress.org herunter.
- Entpacken Sie das ZIP-Archiv auf Ihrem Rechner.
- Stellen Sie eine Verbindung über FTP zur WordPress-Installation her.
- Laden Sie alle Dateien als Backup auf Ihren Rechner herunter (für den Fall, das etwas schief läuft).
- Laden und überschreiben Sie die alten Dateien mit den neuen. ABER VORSICHT: überschreiben Sie nicht das Verzeichnis wp-content (sonst verlieren Sie alle bereits hochgeladenen Dateien).
B) Sie sehen keine Fehlermeldungen?
Wie oben beschrieben müssen Sie die wp-config.php editieren, wenn Sie die Fehlermeldungen sehen wollen. Was aber, wenn Sie nichts sehen? Dann gibt es noch eine weitere Konstante, die Sie nutzen können. Erweitern Sie dazu die wp-config.php mit folgender Zeile:
define( 'WP_DEBUG_LOG', true );
Damit wird WordPress angewiesen, die Fehler in eine Log-Datei zu schreiben. Die Datei befindet sich dann unter /wp-content/debug.log. Aber nur dann, wenn es zu einem Fehler kam. Sie müssen also den Fehler (die weiße Seite) noch einmal aufrufen in der Hoffnung, dass WordPress hier die Error-Meldungen in die Logdatei schreibt.
C) Sie sehen immer noch keine Fehlermeldung?
Dann wird das ganze schon etwas komplexer und sie sollten einen erfahrenen WordPress-Entwickler hinzuziehen.
[…] zu vermeiden (bei WordPress z.B. kann eine Inkompatibilität eines Plugins zur sogenannten «weissen Seite des Todes» […]
[…] Fehler im System sollen nicht mehr in einer «weissen Seite des Todes» enden, sondern eine kurze und hilfreiche Meldung […]