Upgrade auf PHP 8.3 in Produktion — das Migrations-Playbook für Laravel-, Symfony- und WordPress-Flotten
26. Mai 2026 · 1 Min. Lesezeit · von Sudhanshu K.
PHP 8.3 ist das aktuelle „langweilig, schnell, zuverlässig"-Ziel für die meisten Produktionsflotten. Die meisten Apps wechseln sauber von 8.1 oder 8.2. Ein kleiner, aber scharfer Satz an Deprecations ist das, was Teams einfängt — dynamische Properties ohne #[AllowDynamicProperties], der assert()-Signaturwechsel und die Readonly-Amend-Regeln — alle werfen zur Laufzeit, nicht beim Build.
Dies ist das gestaffelte Playbook, das wir auf Kunden-Flotten fahren, um sie sicher umzustellen.
Der gestaffelte Rollout
# .github/workflows/php-version-matrix.yml
strategy:
matrix:
php-version: ['8.1', '8.2', '8.3']
steps:
- uses: shivammathur/setup-php@v2
with: { php-version: ${{ matrix.php-version }} }
- run: composer install --prefer-dist
- run: vendor/bin/phpunit
- run: vendor/bin/phpstan analyse --error-format=githubCI läuft mindestens zwei Wochen lang gegen drei Versionen gleichzeitig vor dem Upgrade. PHPStan auf Level 8 + eine Deprecation-Error-Reporting-Schicht fördert 90 % der Brüche zutage, bevor Traffic sie sieht.
Der vollständige Beitrag behandelt:
- Die 8.1 → 8.3 Deprecation-Liste nach Häufigkeit in echten Codebases sortiert
- Rector — das Auto-Fix-Tool, das den Großteil der mechanischen Arbeit macht
- Das
error_reporting = E_ALL+ Log-dann-Strict-Pattern, um Deprecations in Produktion einzufangen - Framework-spezifische Stolperfallen (Laravel-Queue-Serializer, Symfony 6.4 LTS, WordPress-Core-Kompat)
- Das Blue/Green-Deploy-Pattern für den eigentlichen Cutover
- Rollback-Plan: einen 8.2-Container im Registry mit
previous-Tag halten
Wir nutzen dieses Playbook bei jedem PHP-Flotten-Upgrade, das wir durchführen.
Vollständiger Artikel verfügbar
Vollständigen Artikel lesen