Upgrade para PHP 8.3 em produção — o playbook de migração para frotas Laravel, Symfony e WordPress
26 de maio de 2026 · 1 min de leitura · por Sudhanshu K.
PHP 8.3 é o alvo atual «chato, rápido, confiável» para a maioria das frotas de produção. A maioria das apps atravessa limpa desde 8.1 ou 8.2. Um conjunto pequeno mas afiado de deprecations é o que pega os times — propriedades dinâmicas sem #[AllowDynamicProperties], a mudança de assinatura do assert(), e as regras de amend de readonly — todas lançam em runtime, não em build.
Este é o playbook estagiado que rodamos em frotas de cliente para movê-las com segurança.
O rollout estagiado
# .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=githubO CI roda contra três versões simultaneamente por pelo menos duas semanas antes do upgrade. PHPStan no nível 8 + uma camada de reporting de erros de deprecation traz à tona 90 % das quebras antes do tráfego vê-las.
O artigo completo cobre:
- A lista de deprecations 8.1 → 8.3 ordenada por frequência em codebases reais
- Rector — a ferramenta de auto-fix que faz a maior parte do trabalho mecânico
- O padrão
error_reporting = E_ALL+ log-depois-strict para pegar deprecations em produção - Pegadinhas específicas de frameworks (serializer de queue Laravel, Symfony 6.4 LTS, compat WordPress core)
- O padrão blue/green deploy para o cutover real
- Plano de rollback: manter um container 8.2 no registry tagueado
previous
Usamos este playbook em todo upgrade de frota PHP que rodamos.
Full article available
Read the full article