PHP 5: Aktiver Support endet. Was nun?

PHP 5: Aktiver Support endet. Was nun?

Der aktive Support durch das PHP-Projekt für PHP 5.6, die letzte Release-Serie von PHP 5, endet heute. Was ist "aktiver Support"? Und was bedeutet das für Sie? Um dies zu beantworten, müssen Sie den Release-Prozess von PHP verstehen.

Vor PHP 5.4 wurde eine neue Version von PHP veröffentlicht, wenn sich genügend Core-Entwickler einig waren, dass sie bereit für die Veröffentlichung war. Diese Situation war für alle Beteiligten unbefriedigend. Anbieter von Betriebssystem-Distributionen, zum Beispiel, wussten nicht, wann eine neue Version von PHP veröffentlicht werden würde und konnten nicht dafür planen, bis sie veröffentlicht wurde.

Das PHP-Projekt hat 2012 einen neuen Release-Prozess eingeführt. Oder besser gesagt, es führte zum ersten Mal einen formalen Release-Prozess ein, um der chaotischen Veröffentlichungspraxis der Vergangenheit ein Ende zu setzen. Jedes Jahr wird eine neue Minor-Version, wie beispielsweise PHP 7.1, veröffentlicht. Jede dieser Minor-Versionen hat einen wohldefinierten, dreijährigen Lebenszyklus:

  • Active Support: Eine Minor-Version wird für zwei Jahre nach ihrer ersten Veröffentlichung aktiv unterstützt. In dieser Zeit werden gemeldete Fehler und Sicherheitsprobleme behoben und es werden regelmäßige Patch-Versionen veröffentlicht.
  • Security Support: Nach zwei Jahren aktiven Supports wird eine Minor-Version nur noch für kritische Sicherheitsprobleme unterstützt, und es werden keine regelmäßigen Releases mehr erstellt. Dieser Security Support endet drei Jahre nach dem ersten Release der Minor-Version.

PHP 5.6 wurde am 28. August 2014 veröffentlicht. Da es sich um die letzte Minor-Version von PHP 5 handelt, wurde der aktive Support für PHP 5.6 um vier Monate und der Sicherheits-Support um ein weiteres Jahr verlängert.

PHP 5.6: End of Active Support

PHP 5.6.30, das Anfang Januar 2017 erscheinen soll, wird die letzte Version von PHP 5.6 sein, die regelmäßige Fehlerbehebungen enthält. Nach PHP 5.6.30 und bis zum 31. Dezember 2018 werden nur noch kritische Sicherheitsprobleme für PHP 5.6 behoben und Releases werden nach Bedarf erfolgen. Benutzer von PHP 5 sollten so schnell wie möglich auf PHP 7 aktualisieren, da sie nach dem 31. Dezember 2018, wenn PHP 5 sein End-of-Life erreicht, möglicherweise ungepatchten Sicherheitslücken ausgesetzt sind.

Was das für Sie bedeutet

Wenn Sie noch PHP 5.5 (oder älter) verwenden, dann verwenden Sie eine Version von PHP, die bereits ihr End-of-Life erreicht hat und nicht mehr vom PHP-Projekt unterstützt wird. Wenn Sie PHP 5.6 verwenden, dann verwenden Sie eine Version von PHP, die in zwei Jahren ihr End-of-Life erreichen wird. Und während zwei Jahre auf den ersten Blick eine lange Zeit zu sein scheinen, kann die Migration einer Legacy-Anwendung auf PHP 7 einige Zeit in Anspruch nehmen.

Die veraltete Version von PHP, die Sie verwenden, wird möglicherweise noch vom Hersteller Ihres Betriebssystems gewartet. Diese Wartung beschränkt sich jedoch in der Regel auf kritische Sicherheitsfixes und beinhaltet nicht das Backporting von regulären Bugfixes. Außerdem verpassen Sie eine Menge Verbesserungen, die in PHP implementiert wurden. Wir bieten einige interessante Hintergrundinformationen zu PHP 7 in dieser Präsentation, und es gibt eine viel ausführlichere Behandlung in unserem eBook "PHP 7 Explained".

Was Sie tun sollten

Es ist höchste Zeit, über ein Upgrade Ihres PHP-Stacks auf PHP 7, idealerweise auf PHP 7.1, nachzudenken. Dies sollte ein kurzfristiges Ziel für Sie sein.

Ein Upgrade der von Ihnen verwendeten PHP-Version darf kein seltenes Ereignis sein, vor dem Sie sich fürchten. Sie dürfen das Upgrade Ihres PHP-Stacks nicht als „besonderes Projekt“ betrachten. Sie müssen das Upgrade der von Ihnen verwendeten PHP-Version zu einem Teil Ihrer normalen Arbeitsabläufe machen und den Upgrade-Zyklus Ihres PHP-Stacks mit dem Release-Zyklus des PHP-Projekts abstimmen. Dies sollte ein langfristiges Ziel für Sie sein.

Frameworks, Bibliotheken und Werkzeuge

Während PHP selbst der wichtigste Teil Ihres PHP-Stacks ist, ist es nicht der einzige Teil davon. Sie sollten auch sicherstellen, dass Sie aktiv unterstützte Versionen Ihres Frameworks sowie der Bibliotheken und Werkzeuge, die Sie verwenden, einsetzen.

Früher oder später werden neue Versionen von Frameworks, Bibliotheken und Werkzeuge PHP 5 nicht mehr unterstützen. Hier ist eine Liste beliebter Projekte, für die ich Informationen zur Unterstützung von PHP 5 finden konnte:

  • NEOS 3.0 wird im Januar 2017 veröffentlicht und wird PHP 5 nicht unterstützen
  • PHPUnit 6 wird im Februar 2017 veröffentlicht und wird PHP 5 nicht unterstützen
  • TYPO3 8 LTS wird im April 2017 veröffentlicht und wird PHP 5 nicht unterstützen
  • PhpSpec 4.0 wird im Juni 2017 veröffentlicht und wird PHP 5 nicht unterstützen
  • Laravel 5.5 wird im Juni 2017 veröffentlicht und wird PHP 5 nicht unterstützen
  • Xdebug 2.6 wird im Juli 2017 veröffentlicht und wird PHP 5 nicht unterstützen
  • Symfony 4.0 wird im November 2017 veröffentlicht und wird PHP 5 nicht unterstützen
  • Zend Framework plant, PHP 5 zu unterstützen, bis PHP 5.6 sein End-of-Life erreicht
  • Joomla! 5 ist für 2019 geplant und wird voraussichtlich PHP 5 nicht mehr unterstützen
  • Drupal 9, das noch einige Jahre entfernt ist, wird voraussichtlich PHP 5 nicht mehr unterstützen

Die Veröffentlichung einer neuen Version wie PHPUnit 6 bedeutet natürlich nicht, dass PHPUnit 5.7 nicht mehr funktioniert. Alte Versionen wie PHPUnit 5.7 erhalten vielleicht sogar noch Fehlerbehebungen, aber neue Versionen mit neuen Funktionen erfordern eine neue Version von PHP.

Wir können Ihnen helfen

Bestehende Systeme altern in erster Linie, weil sich die Technik weiterentwickelt. Langfristig ist der sichere und reibungslose Betrieb von Software nur auf aktuellen Systemen möglich. Wir können Sie bei der Planung und Durchführung der Migration Ihrer Software auf PHP 7 unterstützen.

Mehr Informationen dazu, wie wir Ihnen beim Umgang mit Ihrer Legacy-Software helfen können, finden Sie sowie Betrieb Ihrer PHP-Anwendungen auf unserer Website.