Kein Einloggen in WordPress möglich – kritischer Fehler

Kritischer Fehler beim Einloggen in WordPress oder beim Aufruf der Webseite.

Geht bei WordPress etwas schiefgeht, meist gar nichts mehr. Eine weiße Seite oder eine Fehlermeldung ohne weitere Details sind die Regel. Am Ende auch richtig so bei einem Fehler sollen die Informationen am besten nicht für jedermann im Browser sichtbar sein.

Aber auch als Besitzer des Blogs ist man erstmal ratlos und fragt sich, wie man am besten vorgeht.

Es gab einen kritischen Fehler auf deiner Website. Bitte überprüfe den Posteingang deiner Website-Administrator-E-Mail-Adresse für weitere Anweisungen.

Debug Modus aktivieren

Im Internet gibt es meist den Tipp mal alle Plugins zu deaktivieren. Bin ich kein Freund davon, da man nie weiß ob es nicht irgendwelchen Seiteneffekte gibt und irgendwas kaputt geht. Dennoch ist der Tipp nicht grundsätzlich verkehrt. Meist ist es irgendein Plugin, was den Schaden anrichtet.

Eine Möglichkeit die Fehlersuche zu beginnen ist den Debug-Modus in der “wp-config.php” zu aktivieren. Die geht mit den folgenden drei Zeilen:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_DISPLAY', false );
define( 'WP_DEBUG_LOG', true );

Bei der Position kann man zuerst das Ende der Datei probieren. Ich hatte diese erst etwas mehr am Anfang, da wurde die Debug-Datei nicht erzeugt. Im Zweifel etwas probieren.

Klappt es, wird im Ordner “wp-content” eine Datei mit dem Namen “debug.log” erzeugt. In dieser finden sich nun Warnungen und Fehler aller Art.

Die Liste wird schnell recht lang, Ausschau sollte man nach Fehlern halten, bei mir war dieser fatale PHP-Fehler. Warnungen und Informationen können erstmal ignoriert werden, falls keine Fehler im Log sind, dann natürlich diese auch noch anschauen.

PHP Fatal error: Uncaught Requests_Exception: Object is a dictionary, not a list in /is/htdocs/wp/www/blog_ekiwi_de/wp-includes/Requests/Cookie/Jar.php:91

Bei einem Fehler gibt es meist noch einen Stack-Trace, welcher die Herkunft des Fehlers ausgeben kann. In meinem Fall war es “WPML”-Plugin für die Mehrsprachigkeit.

Dieses hatte in der “Status.php” einen Abruf ausprobiert (pingRestEndpoint()) und dieser schlug fehl. Warum auch immer. Nach Deaktivierung des Plugins hat es wieder funktioniert. Ich habe mir dann für das erste die PHP-Datei vorgenommen und den Aufruf aus kommentiert. Damit lief zumindest wieder alles und verschafft mir so etwas Zeit für eine weitere Fehleranalyse.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert