Ich hatte heute das WordPress-Blog einer Kundin auf eine Subdomain verschoben, weil sie die Seite in einer Art internen Bereich betreiben möchte. Die Hauptdomain soll dafür umgeleitet werden.
Nachdem ich in Ionos die Subdomain eingerichtet hatte und alle WordPress Daten ins neue Verzeichnis geladen hatte, bekam ich beim Aufruf der Login-Seite folgende Meldung:
Warning: „continue“ targeting switch is equivalent to „break“.
Dieser PHP-Fehler erschien auf der Seite vorher nicht, was mich etwas stutzig gemacht hat.
Kapitel in diesem Beitrag:
Fehlermeldung erscheint ab PHP 7.3
Mein Verdacht, dass die Fehlermeldung etwas mit der PHP-Version des Hostings zu tun hat, hat mich nicht getäuscht. Wie ich in der Hosting-Verwaltung gesehen habe, lief die Hauptdomain mit PHP 7.2, während Subdomain automatisch auf PHP 7.4 gestellt wurde.
Ich habe daraufhin die PHP Version der Subdomain auf PHP 7.2 geändert und siehe da: Der Fehler war verschwunden.
Die Umstellung kann man bei Ionos übrigens unter „Hosting-Übersicht“ und dann im Bereich „PHP“ finden.
Den Grund, warum hier eine Änderung in PHP gemacht wurde, findet man im PHP Wiki:
Wenn in PHP continue auf eine switch-Anweisung angewendet wird, verhält sie sich genauso wie break. In anderen Sprachen würde es stattdessen die umgebende Schleife fortsetzen. Um Verwirrung zu vermeiden, schlägt der RFC vor, continues, die auf switch wirken, zu verwerfen und zu entfernen.
Anpassen des Codes für PHP 7.3, 7.4 und folgende Versionen
Nun gab es ein kleines Problem: Ionos hat angekündigt, dass sie den Support von PHP 7.2 im Dezember 2020 beenden. Die Folge wäre, dass bei meiner Kundin von einem auf den anderen Tag die Fehlermeldungen aufpoppen würde – keine gute Werbung für sie.
Ich habe aus diesem Grund nach einer Lösung gesucht, um ihr altes Theme nochmal zu überarbeiten, damit es noch ein paar Jahre verwendet werden kann.
Um nun die Fehler zu beheben, kann man nun einen kleinen Befehl ändern, den man über die Fehlermeldung finden kann. Man sucht nach einer ähnlichen Formulierung wie dieser:
switch ($variable) { case "wert": continue; }
und tauscht darin das „continue“ in ein „break“ aus:
switch ($variable { case "wert": break; }
Auf diese Weise kann man die Fehler nach und nach beheben und sein WordPress wieder zum Laufen bekommen.
Wenn ihr Probleme mit eurem Blog habt, lasst es mich wissen. Ich biete mit einem Bekannten eine Art WordPress-Notfall-Hilfe und wir helfen Bloggern oder Unternehmen, wenn es darum geht, die Webseite wieder in Gang zu bekommen.
Meine Tipps & Tricks rund um Technik & Apple
Ähnliche Beiträge
Seit 2012 betreibe ich meinen Blog als Sir Apfelot und helfe meinen Lesern bei technischen Problemen. In meiner Freizeit flitze ich auf elektrischen Einrädern, fotografiere mit meinem iPhone, klettere in den hessischen Bergen oder wandere mit meiner Familie. Meine Artikel behandeln Apple-Produkte, Drohnen-News und Lösungen für aktuelle Bugs.
Hallo, ich habe dieses Problem auch, meine Seiten zeigen: Warning: „continue“ targeting switch is equivalent to „break“. Did you mean to use „continue 2“? in /WWWROOT/235512/htdocs/wp-content/plugins/slimjetpack/modules/infinite-scroll/infinity.php on line 147
Werde nun nach deine Anleitung versuchen das zu lösen. LG vom schönen Niederrhein
Dann viel Erfolg bei der Lösung!