Webhosting

Neue und alte PHP-Versionen sicher betreiben: Updaten oder Extended Support?


Veröffentlicht am 14.07.2022 von DomainFactory

Ohne moderne Skriptsprachen wäre das Internet so statisch wie ein beschriebenes Blatt Papier. HTML und CSS sind im Grunde nichts weiter als eine Fassade. Hier wird statischer Content formatiert und ins rechte Licht rückt. Die Zusammensetzung und Erzeugung dieser Inhalte übernehmen dagegen moderne Skriptsprachen wie PHP. Sie sind das Bindeglied zwischen Webserver und HTML-Ausgabe. 

Was PHP so besonders macht, welche Anforderungen es stellt und wie man diesen auch beim fortgesetzten Einsatz von älteren, womöglich nicht mehr regulär unterstützten Version wie PHP 5.6, PHP 7.1 oder PHP 7.2 gerecht wird, möchten wir in diesem Text erläutern

PHP ist eine der ersten Skriptsprachen für die dynamische Erzeugung von Webseiten. Anfang der 2000er Jahre stand es dabei noch in direkter Konkurrenz zum damals ebenfalls verbreiteten (und relativ ähnlichen) Perl. Dieses Duell hat PHP jedoch schon lange für sich entschieden.  

Einer der Gründe: WordPress. Denn das mit Abstand populärste Content-Management-System weltweit wurde mit PHP entwickelt. Doch auch andere CMS-Platzhirsche wie Joomla oder Typo3 basieren auf der Programmiersprache PHP. Oder anders ausgedrückt: Ein Großteil aller Webseiten und Onlineshop-Systeme würden heute ohne PHP schlichtweg nicht funktionieren. 

PHP makes the Internet go 'round! 

Doch was macht eigentlich eine Skriptsprache wie PHP? Kurz gesagt: Ein PHP-Skript ist ein Programm, das vom Webserver interpretiert wird. Die Programmlogik erlaubt Datenbankabfragen und prozedurale Abläufe. Basierend darauf wird der HTML-Quellcode generiert, den der Webserver schließlich an den Browser (Client) ausliefert. Die gesamte Logik einer Webseite - vom Login-Mechanismus über individuelle Menüstrukturen bis hin zur Inhaltsdarstellung - wird von Skripten gesteuert, die in den meisten Fällen mit PHP entwickelt wurden. 

Als Webseiten-Besucher bekommt man PHP-Skripte dabei übrigens gar nicht zu Gesicht. Und sogar dann, wenn man eine Webseite lokal analysiert, erblickt man in der Regel nicht mehr als das fertig erzeugte Gerüst bestehend aus HTML, CSS und JavaScript. Der eigentliche Programmcode existiert nur auf dem Server, auf dem die Webseite gehostet wird. PHP ist also sozusagen der "Regisseur" der Internetseite - stets im Hintergrund aber zugleich verantwortlich für sämtliche Abläufe und die Qualität des fertigen Produkts. 

Fluch und Segen zugleich: PHP-Versionen veralten regelmäßig 

Die Komplexität der Skriptsprache und die Nähe zu sensiblen Komponenten wie Datenbanken und Webserver(n) machen PHP jedoch nicht nur unentbehrlich für viele Webprojekte, sondern auch zu einem potenziellen Einfallstor für Hacker. Leider. Aus diesem Grund ist es elementar, dass PHP nicht nur stetig weiterentwickelt, sondern auch kontinuierlich abgesichert wird! So gibt es einerseits Versionssprünge, die neue Funktionen und allgemeine Verbesserungen integrieren. Andererseits gibt es aber auch immer wieder Updates, die mögliche Sicherheitslücken schließen und potenziellen Gefahren vorbeugen. In dieser zweidimensionalen Progression liegt jedoch auch die Problematik, mit der sich viele Webseiten-Administratoren konfrontiert sehen. 

Denn: Wer eine bereits fertige Anwendung betreut, scheut möglicherweise ein funktionales Versionsupdate. Der Sprung auf eine höhere Version bedeutet nämlich nicht nur einen erweiterten Funktionsumfang. Er bringt in anderen Bereichen möglicherweise auch Einschränkungen mit sich. Oft werden Funktionen nämlich gänzlich ersetzt und somit in neueren Versionen nicht mehr unterstützt. Auch wenn die PHP-Dokumentation in solchen Fällen schon frühzeitig warnt, dass entsprechende Funktionalitäten „deprecated“ sind und bald abgeschaltet werden: Manchmal stellt das den ein oder anderen Webmaster vor schier unlösbare Herausforderungen! 

Risikoabwägung: Altbewährte PHP-Version behalten oder nicht? 

Um es noch einmal klar zu sagen: Selbst die grundsätzliche Syntax-Interpretation kann bei solchen Versionssprüngen modifiziert werden. So wurden in der Vergangenheit beispielsweise die Definition von Klassen-Konstruktoren modifiziert oder geschweifte Klammern bei Array-Indizes verboten. Wird eine alte Webanwendung nicht entsprechend angepasst, kann das serverseitige Umschalten auf eine neue PHP-Version wie PHP 8.0 zu schwerwiegenden Fehlern führen. Schlimmstenfalls ist die gesamte Anwendung nicht mehr lauffähig. 

Der bequeme(re) Webseiten-Administrator neigt folglich dazu, Versionssprünge zu vermeiden. Getreu dem Motto „Never change a running System“ wird hier auf Altbewährtes gesetzt. Auf diese Weise können sowohl die Webanwendung als auch die PHP-Version über Jahre unangetastet bleiben. Was zunächst mal äußerst ökonomisch erscheint, birgt jedoch gewisse Risiken. An dieser Stelle kommt nämlich die Weiterentwicklung in Bezug auf Sicherheitsupdates ins Spiel. 

Versions-Updates führt zu PHP-Support mit "Haltbarkeitsdaten" 

Das große Problem: Sicherheitsupdates gibt es nur für PHP-Versionen, die zumindest halbwegs aktuell sind. Die Unterstützung ist dabei zwar eigentlich recht großzügig. Die 2019 eingeführte Version 7.4 wird beispielsweise noch bis zum 28. November 2022 mit Sicherheitsupdates versorgt. Ist dieses Datum jedoch erstmal überschritten, ist ein Update auf die Nachfolgeversion 8.0 dringend zu empfehlen. Somit haben PHP-Versionen eine maximale Haltbarkeit von ca. drei Jahren. Wer dem nicht nachkommt, muss mit möglichen Sicherheitslücken rechnen. 

Wird eine Webanwendung auf einem eigenen Server gehostet, obliegen PHP-Updates der eigenen Verantwortung. Besonders "risikofreudige" Webmaster können deshalb theoretisch viele Jahre lang die gleiche Version einsetzen. Anders sieht das aber natürlich im Bereich des klassischen Web-Hostings aus. Da sich hier mehrere Webpräsenzen einen Server teilen, legen Hosting-Unternehmen wie DomainFactory äußerst viel Wert darauf, die serverweite Absicherung der Webpräsenzen zu gewährleisten. Aus diesem Grund werden Hosting-Kunden nach dem sicherheitsrelevanten Ablauf einer PHP-Version auch von uns normalerweise dazu aufgefordert, auf eine fortgeschrittene Version upzudaten. Administrativ ist diese Prozedur denkbar einfach - man wählt einfach aus einer Liste unterstützter PHP-Versionen die gewünschte Variante aus. Und schon ist diese aktiv.  

Es gibt aber auch noch eine andere Möglichkeit, besser bekannt als Extended Support für Legacy-PHP-Versionen

Versionssprünge und Inkompatibilitäten 

Gerade bei echten Versionssprüngen, beispielsweise von PHP 7.x auf 8.x, wird es für viele Webmaster daher besonders spannend: Ist die aktuell installierte Anwendung mit der neuen Version kompatibel? Wer beispielsweise WordPress einsetzt und regelmäßig aktualisiert, sollte hier keine Probleme bekommen. Bei individuellen Anwendungen, speziellen CMS oder "seltenen" Plugins, kann es jedoch zu erheblichen Problemen kommen. In diesem Fall müssen die Fehler in allen Programmteilen analysiert und mühsam behoben werden. Und das ist richtig viel Arbeit. 

Noch schwieriger wird es, wenn die Webanwendung selbst so veraltet ist, dass sie keine Updates mehr erhält. Das ist zum Beispiel bei vielen (gar nicht mal so alten) Magento-Shop-Systemen der Fall. Denn das ursprünglich sehr erfolgreiche Magento 1 wird seit Juni 2020 nicht mehr mit Updates versorgt, da es bereits seit 2015 die gänzlich neu strukturierte Version 2 gibt. Da es sich bei Magento jedoch um ein sehr komplexes Onlineshop-System handelt und der Umstieg von Version 1 auf Version 2 äußerst mühsam sein konnte (oder noch wäre), gibt es bis heute viele Shops, die weiterhin auf Magento 1 basieren. Durch den ausbleibenden Support ist Magento 1 jedoch auf PHP 7.x angewiesen, dessen Lifetime noch dieses Jahr endet. Was also tun? 

Der Ausweg: Extended Support für den sicheren Betrieb älterer PHP-Versionen nutzen! 

Ist das Support-Ende für die benötigte PHP-Version erreicht, müssen sich die Shop-Betreiber also entscheiden, ob sie nun endgültig den Umstieg auf Magento 2 vollziehen - oder sich mit ausbleibendem Support der PHP-Version arrangieren. Doch wie schon erwähnt: Je nach Provider ist letzteres aufgrund potenzieller Sicherheitsrisiken womöglich gar  keine Option! 

Die Lösung ist der PHP Extended-Support, der von guten Hosting-Providern wie DomainFactory angeboten wird und es erlaubt, auch alte PHP-Versionen wie PHP 5.6, PHP 7.1 oder PHP 7.2 sicher zu nutzen. Für diesen erweiterten Service werden in der Regel zwar ein paar Euro zusätzlich fällig, da die ausbleibende Unterstützung der alten PHP-Version durch den Hosting-Anbieter übernommen wird. Bei uns sind das aber beispielsweise gerade einmal 1,99 Euro für das entsprechende Add-on. 

Trotzdem gilt: Grundsätzlich ist es ratsam, den Umstieg auf aktuellere PHP-Versionen zumindest mittel- bis langfristig ins Auge zu fassen. Und verwenden Sie eine Applikation, die regelmäßig weiterentwickelt wird. Sollten Sie individuelle Systeme oder Plugins einsetzen, ist eine fortlaufende Unterstützung seitens des Entwicklers sicherzustellen. Auf diese Weise ist es sehr unwahrscheinlich, dass Sie auf eine veraltete PHP-Version angewiesen sein werden.  

In manchen Fällen ist eine Modernisierung der Anwendung jedoch derart aufwändig oder kostspielig, dass eine erweiterte Unterstützung alter PHP-Versionen durch den Anbieter sehr viel wirtschaftlicher ist. 

Für welche Hosting Produkte ist der PHP Extended-Support verfügbar?

Den PHP Extended-Support für den sicheren Betrieb älterer PHP-Versionen können Sie für alle ManagedHosting64 und ManagedServer über das Kundensystem von DomainFactory hinzubestellen.  

Der Autor:


Als Qualitätsanbieter überzeugen wir mit HighEnd-Technologie und umfassenden Serviceleistungen. Mit mehr als 1,3 Millionen verwalteten Domainnamen gehören wir zu den größten Webhosting-Unternehmen im deutschsprachigen Raum.