Ihre Website zeigt eine leere Seite oder den Satz „Es gab einen kritischen Fehler auf deiner Website.“ In beiden Fällen hat PHP irgendwo eine genaue Meldung geschrieben, die die verantwortliche Datei nennt. Dieser Leitfaden zeigt, wo Sie sie lesen, wie Sie sie deuten und welcher Handgriff zu welcher Meldung gehört.
wp-config.php und laden die fehlerhafte Seite neu.PHP Fatal error in wp-content/debug.log: der Dateipfad nennt das verantwortliche Plugin oder Theme.debug.log.Eine weiße Seite ist meist ein fataler PHP-Fehler: eine Datei der Website hat etwas Unmögliches verlangt, und die Ausführung wurde abgebrochen, bevor irgendetwas angezeigt wurde. Seit WordPress 5.2 fängt WordPress diese Fehler ab: statt einer leeren Seite zeigt es „Es gab einen kritischen Fehler auf deiner Website.“ und schickt eine E-Mail an die administrative E-Mail-Adresse der Website.
Ganz weiß bleibt die Seite in einigen Fällen: bei einer älteren WordPress-Version, bei einem Fehler, der auftritt, bevor dieser Mechanismus geladen ist, wenn die Konstante WP_DISABLE_FATAL_ERROR_HANDLER auf true steht, oder wenn ein Cache-Plugin eine leere Seite ausliefert, die es während der Panne gespeichert hat. Die folgende Methode gilt für all diese Fälle.
Drei Schritte können warten, bis Sie den Fehler gelesen haben: WordPress neu installieren, Plugins löschen, ein altes Backup einspielen. Jeder davon kann Einstellungen oder neue Daten löschen, während die Fehlermeldung meist genau sagt, welche Komponente zu deaktivieren ist, ohne dass etwas verloren geht.
Fängt WordPress den Fehler ab, schickt es an die administrative E-Mail-Adresse der Website eine Nachricht mit dem Betreff „[Name der Website] Deine Website hat ein technisches Problem“. Sie nennt das verantwortliche Plugin oder Theme und enthält einen Link, der das Dashboard im Wiederherstellungsmodus öffnet.
Verbinden Sie sich per SFTP oder über den Dateimanager Ihres Hosters mit der Website, öffnen Sie wp-config.php im Stammverzeichnis und ersetzen Sie die Zeile define( 'WP_DEBUG', false ); durch diese vier Zeilen:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
Sie gehören über den Kommentar, der den bearbeitbaren Bereich der Datei abschließt (/* Das war’s, Schluss mit dem Bearbeiten! Viel Spaß. */ in einem auf Deutsch installierten WordPress). Laden Sie die fehlerhafte Seite neu und öffnen Sie dann wp-content/debug.log. WP_DEBUG_DISPLAY auf false hält die Meldungen in der Datei, fern von der Seite, die Ihre Besucher sehen.
Bleibt debug.log leer oder erscheint die Datei nicht, hat PHP den Fehler direkt protokolliert: suchen Sie eine Datei error_log im Stammverzeichnis der Website oder in wp-admin, oder den Bereich für Fehlerprotokolle im Control Panel Ihres Hosters.
Ein fataler Fehler passt in eine Zeile: die Fehlerart, ihre Beschreibung, dann in, gefolgt vom vollständigen Dateipfad und der Zeilennummer. Der Pfad ist die nützlichste Angabe: wp-content/plugins/name/ bezeichnet ein Plugin, wp-content/themes/name/ ein Theme.
| Die Meldung enthält | Was das bedeutet | Der Handgriff |
|---|---|---|
Call to undefined function oder Class "…" not found, in wp-content/plugins/plugin-name/ | Das Plugin ruft fehlenden Code auf: unvollständiges Update, ein Plugin, von dem es abhängt, ist deaktiviert, oder eine PHP-Version, die es nicht unterstützt. | Dieses Plugin deaktivieren, dann neu installieren oder aktualisieren. |
Allowed memory size of 268435456 bytes exhausted | Das Skript hat den Arbeitsspeicher überschritten, den PHP ihm zuteilt, hier 268.435.456 Bytes, also 256 MB. | WP_MEMORY_LIMIT in wp-config.php anheben, im Rahmen des vom Hoster gesetzten Limits, und dann suchen, was so viel verbraucht. |
PHP Parse error: syntax error, unexpected, in functions.php on line 42 | Ein Syntaxfehler in einer Datei, sehr oft nach einer Änderung von Hand im Theme-Datei-Editor. | Die angegebene Zeile korrigieren oder die vorherige Version der Datei zurückspielen. |
Uncaught TypeError oder Uncaught ArgumentCountError, nach einem Wechsel der PHP-Version | Eine Komponente, geschrieben für eine ältere PHP-Version, deren Ausführung die aktuelle Version verweigert. | Die Komponente aktualisieren. Zur Überbrückung im Control Panel des Hosters zur vorherigen PHP-Version zurückkehren, bis sie ersetzt ist. |
Maximum execution time of 30 seconds exceeded | Ein Vorgang hat die von PHP erlaubte Dauer überschritten (max_execution_time). | Den Vorgang ermitteln (Import, Backup, Bilderzeugung) und das Limit beim Hoster anheben lassen, wenn der Vorgang legitim ist. |
define( 'WP_MEMORY_LIMIT', '256M' );
Benennen Sie den Ordner des in der Meldung genannten Plugins um, zum Beispiel wp-content/plugins/plugin-name in plugin-name.off. WordPress findet das Plugin nicht mehr und lädt es nicht mehr; seine Einstellungen bleiben in der Datenbank gespeichert, und WordPress deaktiviert es beim nächsten Aufruf der Seite Plugins.
Bei einem Theme macht das Umbenennen seines Ordners in wp-content/themes das Dashboard wieder erreichbar, doch Besucher sehen eine leere Seite, solange kein Theme aktiv ist. Öffnen Sie sofort Design > Themes: WordPress stellt fest, dass das aktive Theme fehlerhaft ist, und aktiviert ein installiertes Standard-Theme.
wp plugin list --status=active
wp plugin deactivate plugin-name
wp theme list
wp theme activate twentytwentyfive
Der erste Befehl hält die Liste der aktiven Plugins fest, nützlich vor jeder Sammeldeaktivierung. Bricht WP-CLI selbst am Fehler ab, ergänzen Sie den Befehl um --skip-plugins --skip-themes: dann startet es, ohne Plugins und Theme zu laden. Die Plugins im Ordner wp-content/mu-plugins werden trotzdem geladen; kommt der Fehler von einem davon, benennen Sie seine Datei um.
Nennt die Meldung keine Komponente, deaktiviert wp plugin deactivate --all alle Plugins. Läuft die Website dann wieder, aktivieren Sie sie einzeln und laden die Website dazwischen jeweils neu: das zuletzt aktivierte Plugin vor der Rückkehr des Fehlers ist das gesuchte.
define( 'WP_DEBUG', false ); und entfernen Sie WP_DEBUG_LOG aus wp-config.php.wp-content/debug.log: in einem aus dem Web erreichbaren Ordner kann jeder die Datei lesen, und sie enthält Pfade des Servers.Mit Serenity by Simafri erstellen wir Ihre professionelle Website, hosten sie, sichern sie und halten sie aktuell. Sie schreiben uns, wir kümmern uns um alles. Domainname und geschäftliche E-Mail inklusive.
Weil ein fataler PHP-Fehler aufgetreten ist, meist in einem Plugin oder Theme. WordPress fängt ihn ab, zeigt diese Meldung und schickt eine E-Mail an die administrative E-Mail-Adresse der Website, mit einem Link zum Wiederherstellungsmodus. Das Debug-Log liefert die Details des Fehlers und die verantwortliche Datei.
Prüfen Sie den Spam-Ordner und die unter Einstellungen > Allgemein eingetragene administrative E-Mail-Adresse. Ohne E-Mail aktivieren Sie das Debug-Log in wp-config.php, lesen den Fehler in wp-content/debug.log und deaktivieren die verantwortliche Komponente, indem Sie ihren Ordner per SFTP umbenennen.
Die Einstellungen bleiben erhalten: sie liegen in der Datenbank, nicht im Ordner des Plugins. Ein umbenanntes Plugin erscheint als deaktiviert; geben Sie dem Ordner seinen ursprünglichen Namen zurück und aktivieren Sie das Plugin auf der Seite Plugins, um es mit seinen Einstellungen wiederzubekommen.
Die fehlerhafte Komponente wird eventuell nur im Dashboard geladen, oder das Dashboard braucht mehr Arbeitsspeicher. WordPress wendet WP_MAX_MEMORY_LIMIT auf die Verwaltungsseiten an und WP_MEMORY_LIMIT auf die öffentliche Website. Das Debug-Log funktioniert in beiden Fällen gleich: laden Sie die fehlerhafte Verwaltungsseite und lesen Sie dann debug.log.
Simafri
Sprechen wir über Ihr Vorhaben
Sagen Sie uns in wenigen Worten, was Sie brauchen: Wir melden uns schnell bei Ihnen.
Vielen Dank! Ihre Anfrage wurde gesendet. Wir melden uns in Kürze bei Ihnen.
Sie schreiben lieber eine E-Mail? Schreiben Sie uns an support@simafri.com.