Si tu proyecto sigue en PHP 7.4, lo mejor es migrar por fases. Saltar directo sin validaciones suele romper dependencias, integraciones o tareas de cron en producción.
Estrategia recomendada
Ruta sugerida:
- 7.4 -> 8.1
- 8.1 -> 8.2
- 8.2 -> 8.3
Este camino te permite detectar incompatibilidades gradualmente y simplifica el rollback.
Fase 1: auditoría inicial
Checklist de servidor
- Confirmar versión actual de PHP CLI y FPM.
- Validar extensiones instaladas (
intl,mbstring,soap,gd,bcmath,zip, etc.). - Revisar configuraciones de
memory_limit,max_execution_timey OPcache. - Asegurar backups de base de datos y archivos antes de cualquier cambio.
Checklist de aplicación
- Revisar
composer.jsonycomposer.lock. - Detectar paquetes abandonados o sin soporte para PHP 8.x.
- Ejecutar pruebas unitarias/integración.
- Identificar uso de funciones deprecadas.
Comandos útiles:
php -vphp -mcomposer validatecomposer outdatedFase 2: salto a PHP 8.1
Objetivo
Habilitar una base moderna y estable con mejoras fuertes de tipado y mantenibilidad.
Validaciones clave
- Enums y
readonlyno obligan cambios inmediatos, pero conviene planear su adopción. - Corregir warnings/deprecaciones detectadas en logs.
- Verificar procesos de login, checkout, pagos, cron y APIs.
Comandos sugeridos:
composer update --with-all-dependenciesphp -d error_reporting=E_ALL vendor/bin/phpunitphp artisan test # si aplica a tu stackFase 3: salto a PHP 8.2
Objetivo
Reducir deuda técnica y preparar el proyecto para código más estricto.
Punto critico
En 8.2 se deprecian propiedades dinamicas. Debes declarar propiedades explicitas en clases o adaptar DTOs.
Ejemplo de ajuste:
// Antes (problematico en 8.2)$user = new stdClass();$user->name = 'Jose';
// Recomendadoclass UserDTO { public string $name;}
$user = new UserDTO();$user->name = 'Jose';Fase 4: salto a PHP 8.3
Objetivo
Consolidar compatibilidad y aprovechar mejoras de lenguaje con menor riesgo.
Verificaciones finales
- Monitorear consumo de CPU/RAM durante trafico real.
- Confirmar estabilidad de workers, colas y cron.
- Revisar errores de serializacion, JSON y date/time.
- Validar herramientas de observabilidad (logs, APM, alertas).
Plan de despliegue recomendado
- Preparar entorno staging identico a producción.
- Ejecutar pruebas funcionales por flujo critico.
- Publicar en ventana de bajo trafico.
- Monitorear 30-60 minutos con rollback listo.
- Documentar cambios y baseline de performance.
Checklist rápido de rollback
- Tener snapshot o backup reciente.
- Conservar imagen/contenedor de versión anterior.
- Mantener
composer.lockversionado y validado. - Definir responsable técnico y criterio de reversa.
Conclusión
La mejor migración de PHP no es la más rapida, es la más controlada. Si avanzas por etapas (8.1, 8.2 y 8.3) con checklist técnico y observabilidad, el riesgo baja de forma importante.