Bist du PHP 5.3 Nutzer? Was du jetzt wissen musst

WordPress, Joomla, Drupal und viele mehr gibt es nur, weil es PHP gibt, eine „Erfindung“ von Rasmus Lerdorf aus Dänemark, der eine Sammlung an Scripts einst als Personal Home Page Tools veröffentlicht hat. Heute leitet man PHP als rekursives Akronym ab: PHP Hypertext Preprocessor.

Wie jede gute und zeitgemäße Software entwickelt sich auch PHP weiter: Neue Sprachelemente, neue Konzepte, neue Möglichkeiten. Inzwischen gilt PHP 7.x als Standard und erste Wahl bei neuen Projekten. Dem möchte auch goneo Rechnung tragen. Es wird weiter PHP 5.6 bei goneo geben, natürlich auch neue Versionen unter PHP7, aber kein PHP 5.3 mehr ab November 2018.

So bereitest du dich vor, wenn deine Anwendungen noch unter PHP 5.3 laufen.

PHP 5.3, ist schon seit vier Jahren am Ende seines Entwicklungszyklus

Schon seit August 2014 hat die PHP-Version 5.3 ihr „Lebensende“ erreicht. Mit diesem Begriff (engl: „End of life“ oder abgekürzt „EOF“) bezeichnen die Herausgeber von PHP das Ende der Unterstützung einer Version der Skriptsprache. Danach wird es keine Updates für diese Version mehr geben.

Der Lebenszyklus einer Version wird in sogenannten Roadmaps dargestellt. Es handelt sich sozusagen um eine Art Kalender, auf dem die Lebenszyklen der verschiedenen Haupt- und Unterversionen dargestellt sind. Aus ihnen kann man die Informationen entnehmen, wann eine neue Version eingeführt wird bis zu welchem Datum eine existierende Version entweder noch mit neuen Unterversionen oder Sicherheitsupdates versorgt wird.

Viele aktuelle Anwendungen laufen mit PHP 7.x – nutze das als Vorteil

Das ist für Entwickler neuer Projekte enorm wichtig. Sie müssen entscheiden, ob sie auf eine bewährte Version setzen sollen, die sie in anderen Zusammenhängen schon intensiv testen konnten und sich dadurch die Entwicklung entsprechend schneller ausführen lässt oder ob man doch gleich auf eine neue, aber etwas unbekannte Version setzt, die dafür noch deutlich länger unterstützt wird.

Bei PHP7 kommen einige Vorteile hinzu: Es gilt als schneller und ressourcenschonender als die Vorgänger. Es kann also sein, dass deine Anwendung damit beschleunigt wird. Zu garantieren ist dies nicht, denn viele Faktoren beeinflussen die Ausliefergeschwindigkeit.

Neue Features brauchen oft neue Rahmenbedingungen

Doch auch Betreibern von Webseiten, die einfach nur eine fertige Anwendung einsetzen, werfen gerne einen Blick auf die PHP-Roadmap. Denn auch diese Anwendungen haben einen Lebenszyklus und basieren auf Sprachen wie PHP oder auch MySQL. Um neue Funktionen zu implementieren, müssen Entwickler von Content Management Systemen oder anderen Anwendungen auf entsprechende Funktionen zurückgreifen, die nur aktuelle Versionen der jeweiligen Skriptsprache bereitstellen. Dadurch ist eine Kompatibilität zu älteren Versionen der zugrunde liegenden Skriptsprachen nicht möglich.

In der Regel sind Produzenten von massenhaft eingesetzter Software aber bestrebt, eine möglichst breite technische Basis zu bedienen, so dass sie ihre Anwendungen möglichst agnostisch gestalten.

So viele User nutzen noch PHP 5.x – doch PHP 5.3 ist auf dem Rückzug

Verteilung genutzer PHP Versionen auf goneo Webhosting Accounts

Grafik: Verteilung der auf goneo Webostingaccounts genutzten Version von PHP. PHP 5.6 dominiert eindeutig, ist allerdings auch als Standardversion voreingestellt. Immer weniger User verwenden PHP 5.3, das seit 2014 keine Updates mehr erhält.

Nimm im Zweifelsfall die goneo PHP Standardversion, also ab November 2018 PHP 7.1

Wenn man als User also eine bestimmte Anwendung wie WordPress, Joomla, Drupal etc. aufsetzen möchte, sollte man eine möglichst aktuelle Version von PHP bevorzugen, wenn nicht andere Gründe dagegen sprechen. Dies können Überlegungen sein wie die Art der Einbindung der PHP-Module in den Webserver, was über die (Fast-)CGI-Schnittstelle oder als Apache-Modul erfolgen kann.

Bei goneo kann man verschiedene Versionen von PHP auswählen, wobei aktuell die Version 5.6 als Standard betrachtet wird und voreingestellt ist. Dies soll sich gemäß unserer Planungen im November 2018 ändern. Dann wird PHP 7.1 die neue Standardversion sein, die bei frisch aufgesetzten Webhosting-Accounts Standard ist.

PHP 5.6 bleibt allerdings auswählbar. Im Kundencenter kann man dann bei Bedarf oder auf Wunsch umschalten. Gleiches gilt für PHP 7.2,was ebenfalls im Angebot ist.

PHP 5.3 endet bei goneo im November 2013, denn der Weiterbetrieb wäre zu unsicher

Auf einigen ältere Kundenaccounts können noch „Webserver“ mit PHP 5.3 eingerichtet werden. Diese Möglichkeit stellen wir aus Kompatibilitätsgründen noch zur Verfügung. Allerdings müssen wir im November 2018 diese Option abschaffen. Ab dann wird es keine Möglichkeit mehr geben, PHP 5.3 auf goneo zu verwenden bzw. Anwendung auszuführen, die explizit PHP 5.3 (oder noch ältere Versionen) voraussetzen. Die Gründe dafür sind, dass es keine Updates für PHP 5.3 mehr gibt, was Sicherheitslücken aufreißt, und dass aktuelle Anwendungen auf PHP 7.x optimiert werden.

Übrigens gibt es keine Version PHP 6. Diese Versionsnummer wurde seinerzeit  übersprungen.

Hast du was Altes am laufen? Tipp: Migriere dich hoch, auch wenn es mal weh tut

Was sollte man also tun, wenn man eine Anwendung betreibt, die nur unter PHP 5.3 läuft?

  • Man sollte zunächst prüfen, ob es nicht ein Update für diese Anwendung gibt. Falls ja, solltest du den Aufwand nicht scheuen, dieses Update zu nutzen. Wir wissen, dass dies an der einen oder anderen Stelle Schmerzen erzeugt, da eventuell – bedingt durch Hacks (im Sinne von quick & dirty Code-Edits) ein Feature nicht mehr läuft oder die Darstellung zerschossen wird.
  • Wenn es kein Update gibt, müsste man sich wirklich überlegen, ob die auf PHP 5.3 aufsetzende Anwendung wirklich noch zeitgemäß ist. Lohnt sich der Betrieb noch? Falls ja, sollten nun nach all den Jahren Ressourcen Verfügung stehen und positive Erwartungen ein Investment in eine Innovation an dieser Stelle rechtfertigen.
  • Eventuell sind nur einige Stellen nicht PHP-7.x-fähig. Das können ältere Erweiterungen oder eigene Skripte oder Skriptabschnitte sein. Bis November solltest du diese Codeteile überarbeiten können oder jemanden finden, der dies kann. Umgekehrt muss man auch bedenken, dass alte Software Risiken birgt, da bekannt gewordene Sicherheitslücken nicht geschlossen werden und böse Buben und böse Bots im Netz diese nutzen. Denke daran, dass es Gesetze gibt, die dir Verantwortung oder Mitverantwortung dafür geben, wenn dein System nicht sicher war und es kompromittiert wurde und es zum Datenleck kam. Wir empfehlen in diesem Fall die DSGVO als Bettlektüre.
  • Möglicherweise gibt es Updates für deine Anwendung, aber du hast aus bestimmten Gründen einige Versionen ausgelassen und nun ist der Sprung auf die aktuelleste Version nicht mehr möglich? Versuche dann Schritt für Schritt von Unterversion auf Unterversion „hochzumigrieren“. Das gelingt nur, wenn du vor dem Projekt alle Zwischenversionen sammelst. Auf den Plattformen der Hersteller werden meist nur die aktuellen und künftigen (Beta-)Versionen angeboten, doch mit etwas Suche solltest du auch alte Versionen finden. Lade sie lokal herunter und nutze die Updatefunktionen der Software, falls verfügbar. Falls nicht, folge den Upgrade- oder Updateanweisungen der Distributoren.

Fazit

Genauso wie sich Betriebssysteme, Anwendungen und Apps für Smartphones weiterentwickeln, passiert auch bei Frameworks und serverseitig ausgeführten Skriptsprachen einiges, was nicht sofort ins Auge sticht. Webseitenbetreiber tun gut daran, ein Auge auf die Fortentwicklung von PHP zu haben.

Grundsätrzlich spricht vieles dafür, dass du für deine Anwendungen die aktuellste stabile Version einsetzt. Dies schützt vor Sicherheitslücken, ist zukunftsfähig und bewahrt sich vor der Mig-Lücke, die entsteht, wenn du zuviele Unterversionen überspringen möchtest. Dann laufen deine Anwendung eventuell nicht mehr.

Dieser Beitrag wurde unter PHP, Technische Neuerungen, Technologien bei goneo, Webbasierte Open Source Software abgelegt und mit verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.