Wie die Roadmap von PHP.net erkennen lässt, wird es ab 6.Dezember 2021 keine weitere Unterstützung der Entwickler für PHP Release 7.3 geben. Diese Version erschien vor knapp drei Jahren, im Ende 2018. Mittlerweile erschienen die Releases 7.4 und die neue Hauptversion 8.0. Release 8.1 steht in den Startlöchern.
Die PHP Roadmap, Stand Anfang September 2021. Rot markierte Versionen werden nicht mehr weiterentwickelt, grün markierte befinden sich im Status „aktive Entwicklung“ und orangefarben markierte Phasen bedeuten, dass für diese Version nur noch sicherheitsrelevante Ausgaben erscheinen werden.
Quelle: PHP Website, https://www.php.net/supported-versions.php
Webseitenbetreiber und Entwickler, die momentan noch PHP 7.3 verwenden, sollten die nächsten Monate nutzen, um die Anwendungen und Skripte so zu aktualiiseren, dass diese kompatibel zu PHP 7.4 sind. Besser ist es jedoch, gleich auf PHP 8 zu setzen.
Stabilität und Planbarkeit
Keine Frage, mittlerweile ist es viel klarer als noch vor einigen Jahren, in welchem Rhythmus sich die Skriptsprache PHP weiterentwickelt und wie stark sich neue Versionen von den Vorgängern unterscheiden.
Hier ist eine Liste der früheren und mittlerweile nicht mehr unterstützten PHP-Versionen. Schaut man sich die Versionsgeschichte an, erkennt man: So ungefähr alle 365 Tage erschien in den vergangenen Jahren ein neues Release unter Hauptversion 7. Zu Zeiten von PHP 5.2 und 5.3 waren die zeitlichen Abstände größer. Nach der Jahrtausendwende erschienen hingegen PHP-4-Releases in kürzerer Folge.
Unter einem „Release“ verstehen wir die Version mit der Nummer, die links vom Punkt steht und der Zahl links vom Punkt. PHP selbst nennt diese Releases „branches“. Unter diesen „branches“ werden auch die einzelnen Fehlerbereinigungen gezählt. Von Bugfixausgabe zu Bugfixausgabe der Zähler ebenfalls um eins erhöht und als vollständige Releasebezeichnung ganz rechts nach einem zweiten Punkt angehängt. Beispiel: „PHP 7.4.23“.
Unter 7.4 sind also 23 Varianten erschienen. Jede Variante dürfte Fehler beseitigt haben, allerdings existiert für diese Varianten keine öffentliche Roadmap, da die Fehlerbehebung nicht terminlich planbar ist.
Aktuell ist die PHP-Version 7 insgesamt im Web laut w3techs, einem Analyseunternehmen, die am häufigsten auf Webservern anzutreffende Variante. PHP 8 ist noch nicht so weit verbreitet. Doch auch die Nutzung von PHP 5 ist noch relevant, auch wenn hierfür keine Aktualisierungen mehr erscheinen, auch nicht im Falle neu entdeckter Sicherheitslücken in dieser Version.
Version 7 |
| ||
---|---|---|---|
Version 5 |
| ||
Version 8 |
| ||
Version 4 |
| ||
Version 3 |
| ||
Quelle: W3Techs.com am 8.September 2021 | |||
Von Websites genutzte PHP-Versionen in Prozent |
Mittlerweile kann man davon ausgehen, dass jeder PHP-Release drei Jahre „lebt“. Hinzu kommt, dass die aktuellen Releases recht gut abwärtskompatibel sind. Dies war nicht immer so. In der Vergangenheit gab es deutliche Brüche. Es kommen neue Funktionen hinzu, andere fallen weg, allerdings nicht sofort, sondern werden zunächst als „deprecated“ markiert, funktionieren aber noch bis zum nächsten Release.
PHP Release | Erscheinungsdatum |
7.2 | 30.11.2020 |
7.1 | 01.12.2019 |
7.0 | 10.01.2019 |
5.6 | 31.12.2018 |
5.5 | 21.07.2016 |
5.4 | 03.09.2015 |
5.3 | 14.08.2014 |
5.2 | 06.01.2011 |
5.1 | 24.08.2006 |
5.0 | 05.09.2005 |
4.4 | 07.08.2008 |
4.3 | 31.05.2005 |
4.2 | 06.09.2002 |
4.1 | 12.03.2002 |
4.0 | 23.06.2001 |
3.0 | 20.10.2000 |
PHP Life Cycle
Der Lebenszyklus eines PHP Release unterteilt sich in eine Phase „Active support“, gefolgt von der Phase „Security fixes only“, an die sich das Ende anschließt, „End of life“ nennt man das.
In der ersten Phase werden bekannt gewordene Bugs und Sicherheitslücken entfernt, in der zweiten werden nur noch sicherheitskritische Probleme gelöst, nach dem End-of-life-Termin passiert gar nichts mehr. Probleme bleiben bestehen.
Daher ist es wichtig, eine Version nach dem End-of-Life-Termin nicht mehr zu verwenden. Denn: Auch wenn Sicherheitsprobleme bekannt werden, erscheint kein Fix mehr für diese Version. Dies meinen die Entwickler, wenn sie von „unsupported branches“ sprechen.
Was Seitenbetreiber jetzt tun sollten
Für Webseitenbetreiber und Softwarentwickler, die unter PHP programmieren, bedeutet das, rechtzeitig eine aktuelle und möglichst langfristig unterstützte Version einzusetzen. Aktuell ist Version 8.0. Bald erscheint 8.1.
Aller Erfahrung nach reagieren Anbieter großer Open-Source-Anwendungen wie WordPress, Joomla, Nextcloud mittlerweile sehr schnell auf neue Releaseankündigungen und stellen Kompatibilität mit der jeweils neusten stabilen Version her. Für Entwickler, insbesondere dann, wenn sie ein neues Projekt aufsetzen, erscheinen vor dem eigentlichen Releasetermin Vorabversionen, um sie zu testen und um sich damit vertraut zu machen. Produktiv sollten diese Vorabreleases jedoch nicht verwendet werden.
Ob die eingesetzten PHP-Anwendungen oder -Skripte für höhere als die aktuell verwendete Version geeignet sind, lässt sich bei goneo recht einfach testen: Im goneo-Kundencenter kann die Version umgeschaltet werden. Wenn die Website wie gewohnt weiter funktioniert, ist die Version, auf die man umgeschaltet hat, offenbar kompatibel. Falls nicht, schaltet man einfach wieder zurück und steht nun vor der Aufgabe, Kompatibilität herzustellen. In aller Regel gibt es für Standardsoftware rechtzeitig Updates, die nun eingespielt werden sollten.
Wer eine Webanwendung einsetzt, die sich gewöhnlich nicht so schnell aktualisieren lässt, sollte aktiv bei den Entwicklern nachfragen und sich nach den Plänen bezüglich PHP erkundigen. Viele andere Anwender werden ähnliche Fragen vorbringen, so dass die Herausgeber dieser Software sicher reagieren werden. In der Vergangenheit haben wir die Erfahrung gemacht, dass insbesondere Shopsysteme sich etwas langsamer auf neue PHP-Releases einstellen, da in diesem Kontext viele Subsysteme tangiert sind. Auch Erweiterungen, Zusatzmodule, Templates und ähnliches können eventuell etwas nachhinken. Dies sollte man jetzt klären.
Die goneo Roadmap-Policy
Mittlerweile ist die Entwicklung von PHP gut absehbar, die Roadmap ist stabil und verlässlich. So lassen sich Updates zeitlich gut vorhersehen. Damit ist auch eine Möglichkeit gegeben, Updates für die eigenen Anwendungen entsprechend einzuplanen.
Bei goneo bieten wir in der Regel zwei oder drei PHP-Versionen an, arbeiten aber darauf hin, nicht mehr unterstützte Versionen aus dem Bestand zu entfernen. Dabei handeln wir nicht unmittelbar nach dem offiziellen End-of-Life-Termin, doch einige Wochen später ist damit zu rechnen, dass im Zuge eines Serverupdates eine alte Version nicht mehr zur Verfügung steht. Dies geschieht hauptsächlich aus Sicherheitsgründen, hat aber auch Gründe in der Performance, die in neuen Versionen stets verbessert wurde. Die aktuelle 8er-Releasereihe etwa bringt zwei Just-in-Time-Compiler-Engines mit, um die Leistung zu verbessern:
Effizienterer Programmcode benötigt weniger Hardwareressourcen bei gleichem Leistungsniveau. Das bedeutet, dass weniger Energie – sprich: Strom – verbraucht wird. Auch wenn wir auf CO2-frei erzeugte Energie zum Betrieb der Server setzen, ist Energiesparsamkeit eine unserer Prioritäten.