Cada versión de PHP es más rápida que la anterior y recibe parches de seguridad durante unos tres años. La única razón para no usar una versión con soporte es que algo de lo que dependes no funcione en ella, y eso es una pregunta con respuesta, no una suposición.
La ventana de soporte es el suelo
- Soporte activo: correcciones de errores y de seguridad, unos dos años.
- Soporte de seguridad: solo seguridad, un año más.
- Después: nada, nunca. Un fallo conocido se queda abierto en tu servidor para siempre.
Usar una versión sin soporte no es una decisión de mantenimiento, es una puerta abierta. Y es de las primeras cosas que comprueba un escaneo automático.
Comprueba antes de cambiar
composer why-not php 8.3
vendor/bin/rector process --dry-run
phpcs --standard=PHPCompatibility --runtime-set testVersion 8.3 app/
La primera línea nombra los paquetes que te frenan. A menudo es una sola biblioteca abandonada, y sustituirla es menos trabajo que quedarse atrás para siempre.
Si hay un CMS de por medio
Consulta la página de compatibilidad del núcleo y de cada complemento. Un complemento sin actualizar desde hace tres años es la razón por la que estás atascado, y por sí mismo ya es un problema de seguridad.
Cambiar con seguridad
- Haz una copia de seguridad — consulta Haz copia antes de cada actualización.
- Cambia primero el entorno de pruebas — y prueba a fondo el pago, las subidas, el correo y las tareas programadas.
- Cambia producción dejando instalada la versión antigua — para que volver atrás sea una sola línea.
- Vigila el registro de errores durante un día — los avisos de obsolescencia llegan con el tráfico, no con las pruebas.
Y la versión que usan tus tareas programadas
php -v # the CLI
curl -sSI https://yourdomain.com | grep -i x-powered-by
La línea de comandos y la web son ajustes distintos. Una tarea nocturna en una versión antigua mientras el sitio corre en una nueva produce fallos que solo ocurren de noche: consulta Mantener PHP parcheado.