Der WordPress White Screen des Todes
Eine völlig leere Seite ohne Fehler und ohne HTML. PHP stoppte mitten in der Anfrage und die Nachricht ging zu einem Protokoll, das Sie noch nicht gelesen haben.
(a blank white page, no text at all)
Der Bildschirm ist leer, weil display_errors ausgeschaltet ist, nicht weil es nichts zu sagen gibt. Wechseln Sie auf WP_DEBUG_LOG, laden Sie die Seite einmal neu und lesen Sie wp-content/debug.log - der letzte Eintrag benennt die Datei und die Zeile, die gestoppt wurde.
Die wahrscheinlichsten Ursachen zuerst.
Gehen Sie die Liste der Reihe nach durch. Prüfen Sie jede Ursache, bevor Sie etwas ändern, da die Lösungen unterschiedlich sind und eine Vermutung mehr Zeit kostet als ein Befehl.
| Ursache | So prüfen Sie es | Lösung |
|---|---|---|
| Ein fataler PHP-Fehler in einem Plugin oder Theme | Der Log-Eintrag beginnt mit "PHP Fatal Error" und benennt eine Datei unter wp-content. | Deaktivieren Sie das benannte Plugin oder Switch-Theme. Wenn die Datei zu einem Theme gehört, stellt der Wechsel zu einem Standard-Theme die Site wieder her, während Sie sie sich ansehen. |
| Die Speichergrenze wurde erreicht | Das Protokoll sagt "Erlaubte Speichergröße ... erschöpft". Eine leere Seite und ein Out-of-Memory-Kill sehen identisch aus dem Browser. | Heben Sie den Grenzwert genug, um die Seite zu laden, dann finden Sie, was den Speicher benötigt. Der Grenzwert ist ein Symptom, nicht die Ursache. |
| Nur wp-admin ist weiß | Das Frontend rendert und das Dashboard nicht, oder umgekehrt. Diese Asymmetrie zeigt auf Admin-only-Code. | Das Fatale ist ein reiner Admin-Pfad. Benennen Sie das Plugin-Verzeichnis über SFTP um, um wieder reinzukommen, und reaktivieren Sie es dann einzeln. |
| OPcache serviert eine veraltete kompilierte Datei | Die Seite war in Ordnung, eine Datei wurde bearbeitet, und jetzt ist sie leer - und der Fehler benennt eine Zeile, die in der Datei nicht mehr existiert. | Flush-OPcache. PHP ohne Flush bearbeiten lässt die kompilierte Version und die Quelle nicht zustimmen. |
| Ein Syntaxfehler in einer Datei, die Sie gerade bearbeitet haben | php-l auf der Datei, die Sie zuletzt berührt haben, meldet den Fehler, ohne WordPress überhaupt zu benötigen. | Eine verirrte Klammer in wp-config.php oder functions.php entfernt jede Seite auf einmal. |
Schritt für Schritt zur Lösung.
Die Befehle setzen WP-CLI und Shell-Zugriff voraus. Jeder Schritt erklärt, was er tut, damit Sie ihn bei Bedarf im Dashboard oder per SFTP ausführen können.
Schalten Sie die Nachricht wieder ein
Loggen Sie sich statt anzeigen: Sie möchten das Detail, ohne eine Stack-Trace für die Besucher zu veröffentlichen.
wp config set WP_DEBUG true --raw wp config set WP_DEBUG_LOG true --raw wp config set WP_DEBUG_DISPLAY false --raw
Laden Sie die leere Seite einmal neu und lesen Sie dann das Protokoll
Der letzte Eintrag ist deins. Alles darüber kann altes Rauschen sein.
tail -n 30 wp-content/debug.log
Wenn es ein Plugin benannt hat, nehmen Sie dieses Plugin aus der Anforderung heraus
Deaktivieren nach Namen ist genug; Sie müssen nichts löschen.
wp plugin deactivate the-named-plugin
Wenn Sie wp-admin überhaupt nicht erreichen können, deaktivieren Sie Plugins aus dem Dateisystem
Durch Umbenennen des Verzeichnisses findet WordPress keine Plugins, was ausreicht, um das Dashboard zurückzubekommen.
mv wp-content/plugins wp-content/plugins.off
Debuggen wieder ausschalten, wenn Sie fertig sind
Ein Debug-Log links wächst ohne Limit und zeichnet Pfade auf, die Sie lieber nicht veröffentlichen würden.
wp config set WP_DEBUG false --raw
Darum kümmert sich die Plattform.
Der weiße Bildschirm ist eher ein Konfigurationsunfall als eine WordPress-Funktion: PHP wird gesagt, dass keine Fehler angezeigt werden sollen und nichts wird gesagt, um sie zu protokollieren. Hier ist das Protokoll eingeschaltet und von der ersten Anforderung an beschreibbar, also ist ein fataler Fehler eine Zeile, die Sie lesen können, anstatt eine leere Seite. Klonen der Website vor einem Update bedeutet, dass das Plugin, das Fatals tut es auf einer Kopie, die niemand besucht.
Häufige Fragen.
Warum ist die Seite leer, anstatt den Fehler anzuzeigen?
Die Vorderseite ist gut, aber wp-admin ist weiß.
Ich habe die Datei repariert, aber die Seite ist immer noch leer.
Kann ich den Täter ohne Kommandozeilenzugriff finden?
War es keiner davon?
Diese Fehler können im Browser ähnlich aussehen.