Update von PHP-Version – der Überblick

WordPress läuft im Hintergrund mit Hilfe von PHP. Diese Skriptsprache hat in der Vergangenheit eine rasante Entwicklung hingelegt, entsprechend kamen immer wieder neue Versionen heraus. Zugleich warnt WordPress seit der Version 5.1 vor veralteten PHP-Versionen und kappt langsam die Unterstützung alter Versionen.
Grund genug, sich mal damit zu beschäftigen, wie man möglichst reibungslos ein PHP-Versionsupdate vorbereiten kann.

Was ist PHP?

PHP steht für „PHP: Hypertext Processor“ und bezeichnet die Skriptsprache, die dafür da ist, den gesamten Programmcode zu lesen und auszuführen. Der Vorteil wird klarer, wenn wir uns kurz HTML anschauen: HTML ist die Sprache, die an deinen Browser gesandt und von diesem gelesen wird. HTML ist eine sogenannte Beschreibungssprache, denn sie beschreibt lediglich den Seitenaufbau – HTML selbst kann weder rechnen noch jede andere Logik bearbeiten.

PHP hingegen kann (vereinfacht ausgedrückt) rechnen, Daten in Datenbanken speichern und lesen oder mehrere Dateien zu einer neuen Datei zusammensetzen. Es ist auf dem Webserver installiert und quasi Standard auf heutigen Webhoster-Paketen.
Im Folgenden eine stark vereinfachte Übersicht, welche Aufgaben PHP bei nahezu allen Seitenaufrufen durchführt.

Vereinfachtes Ablaufdiagramm von einer PHP-Ausführung: PHP Code lesen, PHP Code ausführen, Verbindung zu Datenbank herstellen, Daten lesen/schreiben, Ergebnisse in HTML zurückgeben.

Selbstverständlich geschehen diverse Dinge auch mehrfach: Werden Daten aus einer Datenbank gelesen, müssen diese natürlich erneut durch PHP-Code verarbeitet werden. Man kann sagen: PHP hat kräftig was zu tun.
Darum ist es so wichtig, stets auf aktuelle Versionen zu setzen: Einerseits wird die Verarbeitungsgeschwindigkeit immer verbessert, andererseits werden stets auch Sicherheitslücken in diesem zentralen Bereich geschlossen.

Geschwindigkeit

Zum Zeitpunkt der Veröffentlichung dieses Artikels (Januar 2021) ist die PHP-Version 8 aktuell. Diese Version wurde im Dezember 2020 veröffentlicht und hat die Verarbeitungsgeschwindigkeit von PHP immens nach oben getrieben. Dabei hat schon die Version 7 enormen Einfluss auf die Geschwindigkeit gehabt, die in den Unterversionen bis zu 7.4 noch mehr verbessert wurde.
In Zahlen: Der Sprung von der PHP-Version 5.6 zu der Version 7 (die Version 6 wurde übersprungen) hat die Verarbeitungsgeschwindigkeit knapp verdoppelt, der Sprung zu Version 8 hat im Vergleich zu Version 7.4 noch einmal etwa 30% oben drauf gelegt.

Da PHP ein so zentrales Element in der Verarbeitung von Webseiten (so auch WordPress) ist, sollte man schon allein wegen der Geschwindigkeit eine aktuelle PHP-Version einsetzen.

Unterstützung durch WordPress

Die Seite displaywp.com sammelt viele nützliche Übersichten aus der WordPress-Welt. So auch die Übersicht der unterstützten PHP-Versionen.
In der aktuellen WordPress-Version 5.6 werden PHP-Versionen von 5.6 bis 8.0 unterstützt. Doch aus dem Graphen kann man auch gut erkennen: Die minimalste PHP-Version wurde zur WordPress-Version 5.3 angepasst.

Dies ist auch nur der Beginn einer langsamen, kontrollierten, aber dennoch steten Anpassung von WordPress auf ausschließlich aktuelle PHP-Versionen. So plant man bereits heute, die minimalste Unterstützung auf die PHP-Version 7.0 zu legen.
Nur durch Abschneiden der alten Zöpfe kann auch WordPress neuen und effizienteren Programmcode integrieren, um einerseits schneller, andererseits auch mit modernen Funktionen ausgestattet zu sein. Weitere Effekte sind Erhöhung der Sicherheit und durch die effizientere Bearbeitung von Code sogar Verringerung der Stromkosten pro Ausführung – und so ein Mehrwert für’s Klima.

Viel Kleines ergibt auch etwas Großes

Selbstverständlich ist die Stromreduktion bei einem einzelnen Prozess auf einer einzelnen Seite eher marginal. Aber WordPress ist millionenfach im Einsatz; man spricht von etwa 40% aller Webseiten. Hier summieren sich die vielen kleinen Ersparnisse zu etwas deutlich Messbarem auf 👍

Warum kann ein PHP-Upgrade zu Problemen führen?

Gerade bei den „großen“ Versionssprüngen, die die ganze Version erhöhen (sogenannten Major Releases), werden auch alte Funktionen nicht mehr bereitgestellt oder die Syntax von Funktionen verändert. Nutzt ein alter Programmcode noch diese Funktionen oder die alte Syntax, so kommt es nach einem PHP-Upgrade zu Fehlern. Zeitweise ist die komplette Webseite blockiert, weil zentrale Programmbestandteile nicht mehr verarbeitet werden können und dies die gesamte Folgeverarbeitung mit sich reißt.

In der Regel geht die Seite jedoch nicht nachhaltig kaputt, wenn es zu Fehlern kommt. Nahezu immer hilft es, die ursprüngliche PHP-Version in Betrieb zu nehmen, um wieder eine Funktionsfähigkeit herzustellen.

Kann ich die PHP-Version bei meinem WordPress einfach erhöhen?

WordPress ist gut aufgestellt, was die Kompatibilität zu PHP-Versionen betrifft. Wie im vorherigen Kapitel dargelegt, ist die Unterstützung sehr breit angelegt. Exklusiv auf WordPress bezogen sollte ein PHP-Upgrade ohne Weiteres möglich sein.

Dennoch Vorsicht vor voreiligen Upgrades!
Jede WordPress-Seite besteht nicht nur aus WordPress selbst, sondern auch aus Themes und Plugins. Auch diese sind in PHP geschrieben und müssen natürlich auch mit der neuen Version von PHP kompatibel sein. Hier beginnt also die Recherchearbeit.

Welche PHP-Version setzt mein Webhoster aktuell ein?

Die aktuell eingesetzte PHP-Version deiner Webseite bekommst du innerhalb von WordPress leicht heraus. Denn hier hilft uns der Bereich „Website-Zustand“. Klicke im Dashboard auf WerkzeugeWebsite-Zustand.

Achtung

Sollte der Menüpunkt „Website-Zustand“ bei dir fehlen, setzt du recht sicher eine WordPress-Version < 5.2 ein. Wir empfehlen dir in diesem Fall dringend, zuerst WordPress selbst zu aktualisieren.

Hier bekommst du einen umfangreichen Check deiner WordPress-Website und Tipps, was zu verbessern ist. Im Tab Bericht bekommst du viele Infos, die auch generell für Fehlerbearbeitungen hilfreich sein können. Erweitere hier den Bereich Server und du bekommst die aktuell ausgeführte PHP-Version ausgegeben.

Ein Screenshot aus dem Website-Zustand. Farblich hervorgehoben ist der Bereich PHP-Version, der die Version 7.4.10 anzeigt.
Screenshot des Website-Zustands einer Webseite beim Hoster all-inkl.com. Die eingesetzte PHP-Version ist 7.4.10.

Du solltest mindestens eine Version 7.x sehen. Mit Zähneknirschen geht auch Version 5.6 durch (Stand Januar 2021). Dies bringt aber bereits diverse Nachteile mit sich.

Ist deine Version kleiner als 7.4, solltest du ein Upgrade der PHP-Version auf mindestens 7.4 anstreben. Bist du bereits bei Version 7.4 oder gar 8.0, brauchst du aktuell kein Upgrade durchführen. Bedenke aber, dass dies nur der tagesaktuelle Stand ist und du so stets prüfen solltest, ob aufgrund der Weiterentwicklungen nicht doch ein PHP-Upgrade nötig ist.

Wie prüfe ich, ob meine WordPress-Seite vorbereitet ist für ein PHP-Upgrade?

Wie schon erwähnt, sind die Herausforderungen selten im Bereich von WordPress selbst zu suchen. Stattdessen bringen Themes und Plugins immer wieder Probleme mit sich. Bis vor einiger Zeit hat einem das Plugin PHP Compatibility Checker eine Menge Arbeit abgenommen, indem es den Code nach Problemen scannte und die Ergebnisse anzeigte. Auch, wenn man als Laie nichts mit den Meldungen anfangen konnte bzw. ein Automatismus keine menschliche Prüfung ersetzen kann, so war das Plugin ein guter Gratmesser. Leider wurde das Plugin nun länger nicht mehr aktualisiert und kann deswegen keine aktuellen PHP-Versionen prüfen – was es gewissermaßen nutzlos macht.

Plugins prüfen

Sofern du die Plugins nicht selbst geschrieben hast, stehen in der Regel Kompatibilitätshinweise auf der jeweiligen Plugin-Seite. Im Dashboard kannst du dir unter PluginsInstallierte Plugins die Plugins auflisten lassen. Hier kannst du in der Regel auf Details anzeigen oder Plugin-Seite aufrufen die Eigenschaften jedes Plugins einsehen.

Ein Screenshot des Plugins Autoptimize der Version 2.8.1. Er zeigt, dass das Plugin mindestens WordPress-Version 4.9 voraussetzt und bis Version 5.6 kompatibel ist. Zugleich ist die Erforderliche PHP-Version auf 5.6 oder höher gesetzt.
Screenshot der Detailseite des Plugins Autoptimize

Aus der Übersicht kann man im Bestfall eine erforderliche PHP-Version ersehen. Im Beispiel des Plugins Autoptimize ist die erforderliche PHP-Version 5.6 oder höher. Somit sollte dem Upgrade auf 7.4 oder 8.0 nichts im Weg stehen.
Leider sind diese PHP-Angaben recht selten. Häufiger trifft man die erforderliche WordPress-Version und die Angabe „Kompatibel bis zu“ an. Hier ist ein bisschen Interpretationsarbeit nötig, die aber keine technische Kenntnis fordert.

Wie schon im Kapitel Unterstützung durch WordPress skizziert, gibt es eine grafische Übersicht der durch WordPress unterstützten PHP-Versionen. Hieraus lassen sich dann auch die unterstützten Versionen für das Plugin ableiten: Ist ein Plugin „kompatibel bis zu [WordPress] Version 5.6“, so kann man sich recht sicher sein, dass es mit den PHP-Versionen 5.6 bis einschließlich 8.0 kompatibel ist.

Wurde ein Plugin länger nicht mehr aktualisiert, ist es vielleicht nur bis WordPress-Version 5.1 kompatibel. Hier liegen die unterstützten PHP-Versionen von 5.2 bis 7.2. Ein Upgrade der PHP-Version auf 7.4 oder gar 8.0 kann also zu Problemen führen – muss aber nicht.

Prüfe alle deine Plugins auf diese Weise gegen, um einen Überblick zu erhalten.
Sollte dein Plugin nicht über das offizielle WordPress-Repository bezogen worden sein (bspw. bei Premium-Plugins oder Individualentwicklungen), musst du dich auf der offiziellen Webseite des Anbieters oder direkt beim Autoren umhören, welche Versionen unterstützt werden.

Alles Angaben der Autoren

Beachte, dass die Versionsangaben keiner technischen Prüfung unterliegen. Stattdessen kann der Autor des Plugins die kompatiblen Versionen frei angeben. Es existiert also keine Garantie für Kompatibilität – aber zumindest eine sehr hohe Wahrscheinlichkeit.

Themes prüfen

Der Prüfvorgang des Themes ist ähnlich zu den Plugins: Ermittle die Kompatibilität von PHP, um zu prüfen, ob dein Theme für eine neuere PHP-Version vorbereitet ist. Leider bietet der Theme-Bereich nicht eine so bequeme Möglichkeit, auf die technischen Details zuzugreifen.

Wie heißt mein aktuelles Theme?

Wenn du nicht weißt, wie dein aktuelles Theme benannt ist, kannst du dies im Dashboard unter DesignThemes nachschlagen: Das aktuell aktive Theme ist immer das erste in der gesamten Auflistung und ist auch farblich leicht hervorgehoben.

Sofern du dein Theme aus dem offiziellen WordPress-Repository hast, suche dort den Namen des Themes. Hast du es dort gefunden, kannst du mit Klick auf das Ergebnis aufrufen und erhältst eine ähnliche Ansicht wie bei den Plugins.

Screenshot der Detailseite des Themes GeneratePress. Hervorgehoben sind die unterstützte WordPress-Version (4.5 oder höher) sowie die unterstützte PHP-Version (5.4 oder höher).
Screenshot des Themes GeneratePress

Gehe dann in Folge wie bei den Plugins vor. Solltest du ein Premium-Theme einsetzen oder eines, das nicht im offiziellen WordPress-Repository ist, dann kontaktiere den Autoren direkt bzw. besuche dessen Webseite.

Wie kann ich prüfen, ob es Fehler beim Versionsupgrade von PHP geben wird?

Aller Vorbereitung zum Trotz kann ein Upgrade der PHP-Version unerwartet zu Fehlern führen. Auch, wenn nachhaltige Probleme unwahrscheinlich sind, solltest du auf jeden Fall immer vorher ein Backup durchführen.

Im Bestfall spiegelst du deine Seite in eine Art Testumgebung, aktualisierst dort die PHP-Version, prüfst deine Webseite und wenn alles fehlerfrei ist, schaltest du die Version deiner Live-Seite hoch. Das Anlegen einer solchen sogenannten Staging-Umgebung ist nicht ganz einfach und auch nicht Bestandteil des Artikels. Manche auf WordPress spezialisierte Webhoster bieten aber automatische Stating-Umgebungen an.
Frag doch einfach mal nach.

Eine hemdsärmlige Herangehensweise ist es, die PHP-Version der Liveseite testweise anzupassen. Nachteilig ist es dann natürlich, dass mögliche Fehler auch von deinen Besuchern gesehen werden können.
Sollte es zu Fehlern kommen, sind die meist nicht dauerhaft und durch Anpassen der PHP-Version auf den ursprünglichen Wert auch behoben. Dennoch: Eine Datensicherung solltest du haben!

Wie kann ich die PHP-Version aktualisieren?

Dies ist von deinem Webhoster abhängig. Alle modernen Webhoster bieten eine Web-Administrationsoberfläche, in der man die PHP-Version einfach konfigurieren kann. Nach wenigen Minuten ist diese dann auch aktiv. Um sicherzugehen, mit welcher Version dein WordPress gerade läuft, kannst du dir den Website-Zustand anschauen (wie du die Version ermittelst, haben wir im Kapitel Welche PHP-Version setzt mein Webhoster aktuell ein? erläutert).

Wenn du dir unsicher bist, kontaktiere einfach den Support deines Webhosters.

Fazit: Ein PHP-Upgrade muss nicht schwer sein

Trotz dessen, dass dieser Artikel lang ist und viele Stolpersteine skizziert, ist ein Upgrade der PHP-Version häufig recht unkompliziert. Grundvoraussetzungen für ein erfolgreiches Upgrade sind aktuelle Versionsstände von WordPress, der Plugins und der Themes: Je aktueller die Versionen sind, desto weniger Probleme sind abzusehen.
Setzt du alte Versionen ein, aktualisiere erst die Software, ehe du die PHP-Version aktualisierst.

Time to say goodbye

Sollten deine Themes oder Plugins nicht mehr in der aktiven Entwicklung sein und deswegen das PHP-Upgrade verhindern, ist nun der Zeitpunkt gekommen, sich von diesen zu trennen.

Du solltest immer aktuelle PHP-Version einsetzen. Neben immensen Geschwindigkeitsschüben werden mit jeder Version auch Sicherheitslücken geschlossen. Zudem profitierst du nicht von Neuerungen im WordPress-Ökosystem, da dieses sich ebenfalls stets am aktuellen Versionsstand orientiert und alte Versionen Stück für Stück nicht mehr unterstützt.

Schreibe einen Kommentar