Abenteuer bei PHP upgrade 7 -> 8

Der Live-Cycle von PHP 7, dem WordPress-Motor, geht zu Ende. Der Support wird eingestellt. Es ist also Zeit die Webseite(n) auf Vordermann zu bringen, das heisst auf der Plattform des Providers die bereits als „veraltet“ gekennzeichnete PHP-Version anzuheben. Zum Beispiel von 7.3.44 nach 8.1.

Gerade bei älteren Seiten kann dies aber zu Überraschungen führen. Denn da schlummert in manchen php-Dateien alter Code, welcher bis PHP 7 vielleicht erkannt, aber ignoriert wurde, aber ab PHP 8 zu Warnungen oder Fatal Errors führen kann.

Im schlimmsten Fall kann es sein, dass nicht mal mehr die Login-Seite erreichbar ist.

Typische Probleme bei der Updaterei, die mit begegnet sind:


wp-config:

Doppelte Einträge (woher zum Teufel kamen die?) -> z.B.: Warning: Constant ABSPATH already defined in….. Da gilt es rauszufinden, welches der Duplicate zu eliminieren ist. Dieser Fehler kann zu vielen Folgefehlern führen.
(vor der Manipulation in wp-config.php via FTP und Text-Editor unbedingt dies Datei lokal sicherstellen.)

WordPress-Pfad:
define( ‚ABSPATH‘, DIR . ‚/‘ );
bessser:
/** Absolute path to the WordPress directory. */
if ( ! defined( ‚ABSPATH‘ ) ) {
define( ‚ABSPATH‘, DIR . ‚/‘ );
}

Anführungszeichen:
besser ’so‘ als „so“.

Plugin-Fehler / Theme-Fehler:

Vielleicht sind noch ältere Plugins oder Themes im Einsatz, welche Code drin haben, der von PHP 7 noch toleriert wurde, aber jetzt unter PHP 8 zu Fehlern führen.
(Auch in Übersetzungs-Dateien kann es Störenfriede haben)

Gut möglich, dass man sich von alten Plugins verabschieden muss und für diese einen Ersatz finden muss.

Caching-Probleme:

Es kann sein, dass eigentlich alles gut wäre…. Aber wegen Caching hat es noch alte Elemente im Cache, die stören.

Für die Anhebung der PHP-Version kann folgendes Vorgehen sinnvoll sein:

  1. Backup – ist ja klar
  2. Updates aller Komponenten in WordPress (wordpress selber, Themes, Plugins, Übersetzungen.) Evt. kann es hilfreich sein, von jeder Komponente die Version „vorher“ und „nachher“ sich zu notieren.
    Keinen PHP-Update durchführen, wenn irgend eine Komponente nicht auf aktuellem Stande ist.
  3. Backup
  4. Falls vorhanden: Caching-Plugins deaktivieren
  5. Anheben der PHP-Version auf der Plattform des Providers.
  6. wenn alles gut ist- Frontend und Backend funktionieren, ohne Fehlermeldungen – Cache-Plugin aktivieren, falls eines deaktiviert wurde.
  7. Bei Problemen – diese lösen…. Vielleicht hilft einer der obigen Punkte dabei. Auch die Support-Foren von betroffenen Komponenten (zb Plugin), sofern identifizierbar, helfen manchmal weiter.

Wie immer gilt: OHNE GEWÄHR!