Weißer Bildschirm bei Strato und PHP8

Es ist das Schlimmste, was einem passieren kann. Nach dem Update auf PHP 8 kommt nur noch ein weißer Bildschirm, der White Screen of Death (WSOD). Nun häuften sich die Meldungen und auch einem meiner Kunden passierte es. Und alle waren Kunden bei Strato. Was ist da passiert und wie können wir es wieder reparieren?

Nach ein, zwei Meldungen im Supportforum war ich dankenswerterweise schon vorgewarnt, hatte mir das Problem aber noch gar nicht im Detail angeschaut. Ich wusste nur, dass es da was gab. Nun hatte eine Kundin genau das gleiche Problem und es ist schon verrückt, was der Grund ist.

Bei allen war eine Sache gleich: In der wp-config.php waren ein paar Zeilen hinzugekommen, die nicht zur Standarddatei gehören.

Jedoch waren diese Zeilen einfach hinten angehängt worden. Obwohl in der Datei die Zeile /* That's all, stop editing! Happy blogging. */ eigentlich deutlich darauf hinweist, dass ab hier keine Änderungen oder Ergänzungen mehr stattfinden sollten.

Aber es wird noch schlimmer, wenn wir uns die Zeilen genau anschauen:

define( 'WP_ALLOW_MULTISITE', true );
define ('FS_METHOD', 'direct');
define( "WP_AUTO_UPDATE_CORE", minor );

Ich habe es nicht sofort gesehen, aber zusammen mit der Fehlmeldung wird es schnell deutlich.

Fatal error: Uncaught Error: Undefined constant "minor" in /wp-config.php:96 Stack trace: #0 /wordpress/wp-load.php(55): require_once() #1 /wordpress/wp-admin/admin.php(34): require_once('…') #2 /wordpress/wp-admin/index.php(10): require_once('…') #3 {main} thrown in /wp-config.php on line 96

Das Wort „minor“ wird als Konstante interpretiert. Eine solche ist aber gar nicht definiert und folglich wird das als Fehler ausgeworfen. Unter PHP7 (oder kleiner) war das nur eine Warnung, mit PHP8 ist es inzwischen aber ein Fehler und deshalb crasht es erst jetzt.

Korrekt wäre also, wenn „minor“ in (einfachen) Anführungszeichen gesetzt wird. Auch die doppelten Anführungszeichen sind hier nicht nötig. Korrekt wäre es so:

define( 'WP_AUTO_UPDATE_CORE', 'minor' );

Offensichtlich hat der Hoster Strato diese Zeilen hinzugefügt. Aber warum? Dazu schauen wir uns erstmal an, was diese Zeile eigentlich macht.

Laut WordPress-Dokumentation gilt nach dem Anwenden folgendes:

Minor updates are enabled, development, and major updates are disabled

Der Grund, warum das eingebaut wurde, gibt die Seite weiter oben:

Before WordPress 5.6, by default, every site had automatic updates enabled for minor core releases and translation files only. Starting WordPress 5.6 and above, every new site has automatic enabled for both minor and major releases.

Strato aktiviert also die Möglichkeit eine Multisite zu installieren in Zeile 1, Zeile 2 erschließt sich mir nicht, da direct sowieso der Standard ist und in Zeile 3 werden dann eben die automatischen Hintergrund-Updates wieder auf die Minor-Versionen zurückgestellt, damit WordPress nicht automatisch auch Hauptversionen aktualisiert.

Wohlgemerkt passiert das alles, ohne den Nutzer zu informieren oder sich anzuschauen, ob es nötig ist. In meinem Fall war die Website noch auf 4.9.x und somit dieser Code gar nicht notwendig.

Der Hoster ändert die Konfigurationsdatei ohne Kundenhinweis, baut darin diverse Fehler ein und zwingt die Kunden mit dem kostenpflichtigen Extended Support entweder dahin, diesen zu buchen oder eine kaputte Website zu haben, die sie selbst verursacht haben. Das hat schon ein Geschmäckle …

6 Antworten auf Weißer Bildschirm bei Strato und PHP8

  1. danke für den Beitrag.
    Lustigerweise wird immer wieder auch in solchen Fällen von deren Support darauf hingewiesen, dass die Kunden sich doch bitte an den WordPress-Support wenden sollen. Sie wären da nicht zuständig. Alles schon erlebt.

  2. 1000 Dank, ich hab so viel probiert, aber die fehlenden “ sind mir nicht aufgefallen. Wirklich unfassbar, dass man von Strato so allein gelassen wird.

  3. Genau diesen Fall erlebe ich gerade bei IONOS und es wird von Mitarbeiter zu Mitarbeiter im Servicecenter unterschiedlich gehandhabt. Grande Katastrophe!
    Ich bin leider nicht so tief in der Materie und nun suche ich an allen Ecken und Kanten nach dem Fehler. Immer wieder wird mir gesagt, es liegt an meinen plugins…
    Sobald ich Ultimate Addons for WPBakery Page Builder aktiviere, der mit meinem Theme verbunden ist (IMPREZA by themeforest/envato) geht das Drama los. Was kann ich tun?

    • Bei IONOS hatte ich einen Kunden, bei dem war die .htaccess Datei zerschossen worden (von IONOS). Glücklicherweise, konnte ich beweisen, dass es daran lag und so konnte Support es nicht auf Plugins etc. schieben. Nachdem Sie eine frische Datei aufgeladen hat, funktionierte alles wieder.

  4. Danke für den Beitrag, wieder mehr Futter für einen Provider-Vergleich. Dabei konnte ich schon mühelos mehr als 5 Minuten ohne Sprechpause über Strato ranten, jetzt ist es wieder ne halbe Minute mehr.

Schreibe einen Kommentar

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