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.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 du verwendest, wird möglicherweise noch vom Hersteller deines 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 verpasst du 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 du tun solltest
Es ist höchste Zeit, über ein Upgrade deines PHP-Stacks auf PHP 7, idealerweise auf PHP 7.1, nachzudenken. Dies sollte ein kurzfristiges Ziel für dich sein.
Ein Upgrade der von dir verwendeten PHP-Version darf kein seltenes Ereignis sein, vor dem du dich fürchtest. Du darfst das Upgrade deines PHP-Stacks nicht als „besonderes Projekt“ betrachten. Du musst das Upgrade der von dir verwendeten PHP-Version zu einem Teil deiner normalen Arbeitsabläufe machen und den Upgrade-Zyklus deines PHP-Stacks mit dem Release-Zyklus des PHP-Projekts abstimmen. Dies sollte ein langfristiges Ziel für dich sein.
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.
Langfristig ist der sichere und reibungslose Betrieb von Software nur auf aktuellen Systemen möglich. Wir können dich bei der Planung und Durchführung der Migration deiner Software auf PHP 8 unterstützen.
Frameworks, Bibliotheken und Werkzeuge
Während PHP selbst der wichtigste Teil deines PHP-Stacks ist, ist es nicht der einzige Teil davon. Du solltest auch sicherstellen, dass du aktiv unterstützte Versionen deines Frameworks sowie der Bibliotheken und Werkzeuge, die du verwendest, einsetzt.
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.