Pular para o conteúdo
EdgeServers
Blog

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=github

O 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