Actualizar a PHP 8.3 en producción — el playbook de migración para flotas Laravel, Symfony y WordPress
26 de mayo de 2026 · 1 min de lectura · por Sudhanshu K.
PHP 8.3 es el objetivo «aburrido, rápido, fiable» actual para la mayoría de flotas de producción. La mayoría de apps cruzan limpiamente desde 8.1 o 8.2. Un conjunto pequeño pero afilado de deprecaciones es lo que pilla a los equipos — propiedades dinámicas sin #[AllowDynamicProperties], el cambio de firma de assert() y las reglas de amend de readonly — todas lanzan en runtime, no en build.
Este es el playbook escalonado que ejecutamos en flotas de clientes para moverlas de forma segura.
El despliegue escalonado
# .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 corre contra tres versiones simultáneamente durante al menos dos semanas antes del upgrade. PHPStan a nivel 8 + una capa de reporting de errores de deprecación saca a la luz el 90 % de las roturas antes de que el tráfico las vea.
El artículo completo cubre:
- La lista de deprecaciones 8.1 → 8.3 ordenada por frecuencia en bases de código reales
- Rector — la herramienta de auto-fix que hace la mayor parte del trabajo mecánico
- El patrón
error_reporting = E_ALL+ log-luego-strict para pillar deprecaciones en producción - Pegas específicas de frameworks (serializador de colas Laravel, Symfony 6.4 LTS, compat de WordPress core)
- El patrón blue/green deploy para el cutover real
- Plan de rollback: mantener un container de 8.2 en el registry tagueado
previous
Usamos este playbook en cada upgrade de flota PHP que ejecutamos.
Artículo completo disponible
Leer el artículo completo