PHP 8.2 wurde am 8. Dezember 2012 offiziell veröffentlicht. Unsere TYPO3-Versionen v11 LTS und v12 unterstützen die neue PHP-Version bereits.
Aktualisiert am 10. Januar 2023: Der Abschnitt TYPO3 v11 LTS und PHP 8.2 Caveats With PostgreSQL wurde hinzugefügt.
In den letzten Monaten haben wir sowohl mit manuellen als auch mit automatisierten Tests hart daran gearbeitet, die Kompatibilität mit der neuen PHP-Version sicherzustellen. Dank unserer Testinfrastruktur konnte ein Großteil der Tests sowohl des TYPO3-Kerns als auch der Bibliotheken von Drittanbietern automatisch durchgeführt werden. Das Ergebnis: Unsere Codebasis ist mit PHP 8.2 in den neuesten Versionen (TYPO3 11.5.21 und TYPO3 12.1.3) kompatibel.
Der TYPO3-Kern ist bereit für die Zukunft von PHP.
Einsatz von PHP 8.2 mit TYPO3
PHP 8.2 wird mit read-only Klassen und verschiedenen neuen Features ausgeliefert. Auch wenn die Codebasis von TYPO3 für v12 die Mindestanforderungen von PHP 8.1 beibehält, können Projekte, die auf PHP 8.2 laufen, sofort von den neuen PHP-Sprachfeatures profitieren.
Tipp: DDEV ist ein hervorragendes Tool für die Arbeit mit TYPO3 in lokalen Umgebungen. Die neueste Version bietet integrierte Unterstützung für PHP 8.2 und TYPO3 v12.
TYPO3 v11 LTS und PHP 8.2 Probleme mit PostgreSQL
Bei der Verwendung von TYPO3 v11 LTS mit PHP 8.2 in Kombination mit PostgreSQL als Datenbank-Backend gibt es ein PHP 8.2-Problem im Zusammenhang mit einer PHP-Bibliothek, die TYPO3 enthält. Doctrine DBAL - die Datenbankabstraktionsschicht - unterstützt PHP 8.2 in der von TYPO3 v11 verwendeten Bibliotheksversion offiziell nicht. Aufgrund unserer Verpflichtung zur Rückwärtskompatibilität war es uns nicht möglich, Doctrine DBAL für TYPO3 v11 auf die nächste Hauptversion zu aktualisieren.
Unsere gebündelten Versionen (die tar.gz- und zip-Dateien) enthalten eine gepatchte Version von Doctrine DBAL, die das zugrundeliegende Problem behebt.
In Composer-basierten Installationen, in denen TYPO3 v11 auf PHP 8.2 mit PostgreSQL verwendet wird, tritt die Warnung jedoch weiterhin auf. Um dieses Problem zu beheben, können Sie den gleichen Patch auf Ihre Composer-basierte Installation anwenden. Siehe unsere Anleitung in diesem Commit.
Kompatibilität zwischen TYPO3 v10 und PHP 8
Da PHP 8.0 vor 2 Jahren veröffentlicht wurde, musste die Codebasis von TYPO3 stark modifiziert werden, um PHP 8.0-Kompatibilität zu erreichen. Es hat ca. 80 Tage Arbeit gekostet, die Unterstützung für PHP 7.4 und PHP 8.x in TYPO3 v11+ zu integrieren, und in den Monaten nach der Veröffentlichung haben wir immer mehr Teile gefunden, die noch nicht abgedeckt waren. Um dasselbe für TYPO3 v10 zu erreichen, hätten wir Änderungen sowohl am Core als auch an verschiedenen Bibliotheken von Drittanbietern vornehmen müssen. Aus diesem Grund wird es in TYPO3 v10 keine Kompatibilität zu PHP 8 geben.
Darüber hinaus haben viele PHP-Bibliotheken, die Änderungen vorgenommen haben, um PHP 8.0-Kompatibilität zu erreichen, nicht gleichzeitig PHP 8.0 und PHP 7.2 unterstützt (unser ursprüngliches Versprechen für TYPO3 v10). Dies hat erhebliche Auswirkungen auf unsere herunterladbaren .tar.gz- und .zip-Dateien, in denen die Bibliotheken enthalten sind.
Schließlich müssen auch alle Erweiterungen, sowohl projektspezifische als auch solche von Drittanbietern aus dem TYPO3 Extension Repository (TER), mit PHP 8 kompatibel sein.
In diesem Fall empfehlen wir ein Upgrade auf TYPO3 v11 LTS oder höher, da TYPO3 v11 PHP 7.4 und PHP 8+ unterstützt.