Ein einziges Skript, eine falsch gesetzte Zahl, und schon existiert eine ganze Release-Kandidatin praktisch nicht mehr. Genau das ist am 24. September 2026 mit PHP 8.6.0 RC1 passiert. Statt der geplanten ersten Testversion sahen Entwickler weltweit plötzlich PHP 8.6 RC2 in ihren Downloadlisten, ohne dass es jemals eine offizielle RC1 zum Testen gegeben hätte. Was auf den ersten Blick nach einem kleinen Nummerierungschaos aussieht, erklärt sich bei genauerem Hinsehen durch einen sehr konkreten technischen Fehler im Release-Automatisierungsprozess des PHP-Projekts.
Inhaltsverzeichnis
Key Takeaways
- Am 24. September 2026 sollte PHP 8.6.0 RC1 erscheinen, wurde aber durch einen Skriptfehler sofort durch PHP 8.6 RC2 ersetzt.
- Ursache war eine zu früh hochgezählte interne API-Versionsnummer (ZEND_EXTENSION_API_NO, ZEND_MODULE_API_NO, PHP_API_VERSION).
- Für Nutzer und Tester ändert sich praktisch nichts: Der Code-Inhalt von RC2 entspricht dem, was RC1 hätte sein sollen.
- PHP 8.6 bringt unter anderem einen Pipe-Operator, Clone-With für readonly-Klassen und eine native URI-Extension.
- Die nächste Veröffentlichung ist RC3 am 8. Oktober 2026, der finale Release ist für den 19. November 2026 geplant.
Was ist am 24. September 2026 passiert?
Der PHP-Zeitplan sah für den 24. September 2026 die erste Release-Kandidatin von PHP 8.6.0 vor, also den Moment, in dem die neue Major-Version zum ersten Mal offiziell zum Testen freigegeben wird. Das Release-Team, bestehend aus den Release-Managern Matteo und Joe, stieß jedoch unmittelbar nach dem Taggen von RC1 auf ein Problem: Das Automatisierungsskript, das beim Branchen einer neuen PHP-Version die internen API-Versionsnummern verwaltet, hatte diese Nummern zum falschen Zeitpunkt erhöht.
Konkret geht es um drei interne Konstanten, die bei jedem neuen Branch synchron aktualisiert werden müssen:
- ZEND_EXTENSION_API_NO, legt fest, mit welcher PHP-Version eine Zend-Erweiterung kompatibel ist.
- ZEND_MODULE_API_NO, steuert, mit welcher PHP-Version eine kompilierte Erweiterung (Modul) zusammenarbeiten darf.
- PHP_API_VERSION, die grundlegende Schnittstellenversion für Erweiterungen, die auf die PHP-C-API zugreifen.
- 24. September 2026: Geplante Veröffentlichung von RC1, ersetzt durch RC2 aufgrund des API-Versionsfehlers.
- 8. Oktober 2026: Geplante Veröffentlichung von RC3.
- 19. November 2026: Geplanter finaler Release von PHP 8.6.0.
Diese Nummern sind entscheidend dafür, dass kompilierte Erweiterungen nicht versehentlich mit einer inkompatiblen PHP-Version geladen werden. Laut der Erklärung von PHP-Core-Entwickler Scherzer in seinem Blogbeitrag vom 23. September 2026 muss die API-Versionsnummer in einem neuen Branch grundsätzlich höher sein als im vorherigen Branch. Nur so wird verhindert, dass Build-Systeme und Erweiterungen aus unterschiedlichen PHP-Versionen miteinander kollidieren.
"Die API-Versionsnummer muss im neuen Branch höher sein als im alten, damit Builds nicht kollidieren."
Genau an dieser Stelle lag der Fehler: Das Automatisierungsskript hat die Versionsnummer zum Zeitpunkt der Branch-Erstellung hochgezählt, also viel zu früh. Richtig wäre gewesen, die Erhöhung erst bei der letzten Release-Kandidatin unmittelbar vor dem finalen Tag durchzuführen. Da sich dieser Mechanismus tief in der Build-Infrastruktur verankert, reichte ein falsch getimter Skriptlauf aus, um den gesamten RC1-Tag faktisch ungültig zu machen.
Was bedeutet PHP 8.6 RC2 für Entwickler und Tester?
Für die Praxis ist die Botschaft erfreulich unspektakulär: Es ändert sich nichts außer der Versionsnummer. Der Code, den Entwickler unter PHP 8.6 RC2 herunterladen und testen, entspricht inhaltlich exakt dem, was ursprünglich als RC1 geplant war. Es gibt keine zusätzlichen Features, keine entfernten Funktionen und keine funktionalen Unterschiede, lediglich die zuvor fehlerhaften internen API-Versionsnummern wurden korrigiert.
Wer bereits versucht hat, die kurzlebige RC1 herunterzuladen oder mit ihr zu testen, sollte auf RC2 wechseln. Folgende Punkte sind für Tester relevant:
| Aspekt | Status bei RC1 | Status bei RC2 |
|---|---|---|
| Funktionsumfang | Wie geplant | Identisch zu RC1 |
| API-Versionsnummern | Fehlerhaft gesetzt | Korrigiert |
| Offizieller Status | Faktisch zurückgezogen | Aktuelle Testversion |
| Kompatibilität mit Erweiterungen | Potenziell gestört | Wie vorgesehen |
Besonders für Maintainer von PHP-Erweiterungen und Paketmanagern ist die Korrektur wichtig, da genau diese API-Nummern darüber entscheiden, ob kompilierte Module zur jeweiligen PHP-Version passen. Produktiver Einsatz von PHP 8.6 ist zum aktuellen Zeitpunkt ohnehin nicht vorgesehen, Release-Kandidaten dienen ausschließlich dem Testen in Entwicklungs- und Staging-Umgebungen.
Die wichtigsten Neuerungen in PHP 8.6
Mehr zu den konkreten Auswirkungen auf Projekte liest du in unserem Artikel Laravel 13.33 und PHP 8.6 RC1: Was Entwickler jetzt wissen müssen.
Unabhängig vom Versionssprung bei den Release-Kandidaten bringt PHP 8.6 inhaltlich einige bemerkenswerte Neuerungen mit, die für die tägliche Entwicklungsarbeit relevant werden.
Objekten oft umständlich, wenn einzelne Eigenschaften bei einer Kopie geändert werden sollten. Mit Clone-With können Entwickler ein readonly-Objekt klonen und dabei gezielt einzelne Properties überschreiben, ohne die Unveränderlichkeit des Originals zu verletzen.
Integrierte URI-Extension: PHP 8.6 bringt eine native Erweiterung zur Verarbeitung von URIs mit, die sich an den Standards RFC 3986 und der WHATWG-URL-Spezifikation orientiert. Entwickler benötigen damit für viele Anwendungsfälle keine externen Bibliotheken mehr, um URLs zuverlässig zu parsen, zu normalisieren und zusammenzusetzen.
Diese drei Neuerungen zählen zu den sichtbarsten Änderungen, sind aber nicht die einzigen Verbesserungen im kommenden Release. Insgesamt zeigt sich bei PHP 8.6 ein klarer Trend: mehr Ausdruckskraft in der Sprache selbst und weniger Abhängigkeit von externen Paketen für alltägliche Aufgaben.
Zeitplan bis zum finalen Release
Der Vorfall rund um RC1 und RC2 hat den grundsätzlichen Zeitplan für PHP 8.6 nicht verändert. Das Release-Team hält weiterhin am ursprünglichen Fahrplan fest, lediglich die Zählung der Kandidaten beginnt eben bei RC2 statt bei RC1.
Zwischen RC2 und dem finalen Release stehen demnach noch weitere Testphasen an, in denen zusätzliche Fehlerkorrekturen und letzte Anpassungen einfließen können. Für Teams, die PHP 8.6 produktiv einsetzen wollen, bedeutet das: Es bleibt ausreichend Zeit, um Kompatibilitätstests mit bestehenden Codebasen, Erweiterungen und Frameworks durchzuführen, bevor die Version Mitte November als stabil gilt.
Fazit
Der Wechsel von RC1 zu PHP 8.6 RC2 ist in erster Linie eine organisatorische Fußnote in der Geschichte von PHP 8.6, technisch nachvollziehbar, klar dokumentiert und ohne Auswirkungen auf den eigentlichen Funktionsumfang der Sprache. Der Fehler im Automatisierungsskript, der die API-Versionsnummern zum falschen Zeitpunkt hochzählte, wurde vom Release-Team schnell erkannt und durch die sofortige Veröffentlichung von RC2 behoben. Für Entwickler bedeutet das vor allem eines: beim Testen konsequent auf RC2 oder spätere Kandidaten setzen und RC1 als nicht existent betrachten.
Wichtiger als der Versionssprung selbst sind die inhaltlichen Neuerungen, die mit PHP 8.6 auf Entwickler zukommen, vom Pipe-Operator über Clone-With bis zur integrierten URI-Extension. Wer produktiv mit PHP arbeitet, sollte die kommenden Wochen nutzen, um eigene Projekte gegen die Release-Kandidaten zu testen, insbesondere bestehende Erweiterungen auf Kompatibilität mit den korrigierten API-Versionsnummern zu prüfen. Mit RC3 am 8. Oktober 2026 und dem finalen Release am 19. November 2026 bleibt genügend Vorlaufzeit, um rechtzeitig vorbereitet zu sein.




