Upgrade vers PHP 8.3 en production — le playbook de migration pour les flottes Laravel, Symfony et WordPress
26 mai 2026 · 1 min de lecture · par Sudhanshu K.
PHP 8.3 est la cible « ennuyeuse, rapide, fiable » actuelle pour la plupart des flottes prod. La plupart des apps passent proprement depuis 8.1 ou 8.2. Un petit mais tranchant ensemble de deprecations est ce qui attrape les équipes — propriétés dynamiques sans #[AllowDynamicProperties], le changement de signature de assert() et les règles d'amend readonly — qui tous throw à runtime, pas au build.
Voici le playbook étalé que nous faisons tourner sur les flottes clients pour les faire passer en sécurité.
Le rollout étalé
# .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=githubLa CI tourne contre trois versions simultanément pendant au moins deux semaines avant l'upgrade. PHPStan au niveau 8 + une couche de reporting d'erreurs de deprecation fait remonter 90 % des cassures avant que le trafic ne les voie.
L'article complet couvre :
- La liste des deprecations 8.1 → 8.3 classée par fréquence dans des codebases réelles
- Rector — l'outil d'auto-fix qui fait la plupart du travail mécanique
- Le pattern
error_reporting = E_ALL+ log-puis-strict pour attraper les deprecations en prod - Pièges spécifiques aux frameworks (sérialiseur de queues Laravel, Symfony 6.4 LTS, compat WordPress core)
- Le pattern blue/green deploy pour le vrai cutover
- Plan de rollback : garder un container 8.2 dans le registry taggé
previous
Nous utilisons ce playbook sur chaque upgrade de flotte PHP que nous menons.
Article complet disponible
Lire l'article complet