Versiones de PHP y actualizaciones
Módulo 8: Copias de seguridad, entorno de pruebas (staging) y actualizaciones de PHP · Tiempo de lectura: 10 minutos
Objetivo de la lección: Tras esta lección podrá preparar, ejecutar y, si hace falta, revertir con seguridad una actualización de PHP.
Conceptos clave: ciclo de vida de PHP (soporte activo, solo seguridad, fin de soporte), compatibilidad de WordPress, tema y plugins, obsoleto (deprecated), aviso, error fatal, Salud del sitio, registro de errores, entorno de pruebas (staging), restaurar, encargar la actualización
Por qué importan las versiones de PHP
WordPress, su tema y sus plugins están escritos en PHP (lección 1.2). De PHP sale cada año una versión nueva (8.3, 8.4, 8.5, ...). Cada versión se mantiene durante un periodo fijo:
- soporte activo: dos años con reparaciones de errores y de seguridad;
- solo seguridad: después, otros dos años solo con reparaciones de seguridad;
- fin de soporte (end of life): ya no hay reparaciones, ni siquiera para fallos de seguridad.
El estado a 8 de noviembre de 2026, según php.net:
| Versión | Actualizaciones de seguridad hasta | Estado |
|---|---|---|
| 8.1 y anteriores | (pasado) | Sin actualizaciones |
| 8.2 | 31 de diciembre de 2026 | Solo seguridad, casi al final |
| 8.3 | 31 de diciembre de 2027 | Solo seguridad |
| 8.4 | 31 de diciembre de 2028 | Activo |
| 8.5 | 31 de diciembre de 2029 | Activo |
Un sitio con una versión sin actualizaciones funciona con software con fallos conocidos que ya no se reparan. Además, las versiones más recientes son notablemente más rápidas (lección 6.3). Y wordpress.org recomienda PHP 8.3 o superior (a noviembre de 2026). La idea es mantenerse al día cada año, no dar un gran salto cada cinco años.
Por qué una actualización puede romper algo
Cada nueva versión de PHP cambia algo. Las funciones marcadas como obsoletas (deprecated) durante años se eliminan y las reglas se vuelven más estrictas. Algunos ejemplos conocidos:
- PHP 8.0 eliminó, entre otras,
create_function()yeach(), y muchos avisos pasaron a ser errores; - PHP 8.2 marcó como obsoleta la creación dinámica de propiedades en objetos, algo muy habitual en plugins antiguos.
Hay tres tipos de mensajes, y la diferencia es importante:
| Mensaje | Significado | Consecuencia |
|---|---|---|
| Deprecated (obsoleto) | «Esto todavía funciona, pero desaparecerá en una versión futura» | Nada visible; un aviso para el futuro |
| Warning o Notice | Algo no está del todo bien | Normalmente nada visible, a veces algún elemento se comporta de forma extraña |
| Fatal error | PHP se detiene | Página en blanco o «error crítico» (lección 5.4) |
WordPress en sí suele adaptarse bien a las nuevas versiones de PHP. El riesgo está en los plugins y temas antiguos, sobre todo si llevan mucho tiempo sin actualizarse o son desarrollos a medida.
Encontrar su versión actual
- En WordPress: Herramientas > Salud del sitio, pestaña Información, bajo Servidor: la versión de PHP. Salud del sitio también avisa si su versión está desactualizada.
- En su panel de alojamiento: en DirectAdmin con CloudLinux en Select PHP version (con «(current)» tras la versión actual).
- A veces el servidor lo revela en la cabecera
X-Powered-By: PHP/8.3.x. Mejor que no lo haga (lección 7.4), pero si está ahí, se ve rápido.
Tenga en cuenta que en muchos proveedores de alojamiento la versión de PHP se aplica a todo su paquete, es decir, a todos los sitios que contiene. Un sitio antiguo en el mismo paquete puede impedirle avanzar. Es una razón más para depurar sitios antiguos o asignarles un paquete propio.
La actualización, paso a paso
- Actualice primero. Actualice WordPress, su tema y todos sus plugins en la versión de PHP actual. Buena parte de los problemas ya se resuelve así, porque los desarrolladores adaptan su código a las nuevas versiones de PHP.
- Compruebe qué dicen sus plugins. En la página del plugin en wordpress.org figura la versión de PHP requerida; en el registro de cambios suele indicarse «compatible with PHP 8.x». Un plugin que lleva años sin actualizarse (lección 5.3) es candidato a sustitución.
- Haga una copia de seguridad (lección 8.1).
- Pruebe en un entorno de pruebas (staging) (lección 8.3). Si su proveedor de alojamiento permite una versión de PHP distinta por sitio, configure el entorno de pruebas con la versión nueva. Si no es posible (una sola versión por paquete), pruebe en un entorno de pruebas de otro paquete, en local, o elija un momento tranquilo en producción con la versión antigua lista para restaurar.
- Cambie la versión: elija la versión nueva en su panel. En DirectAdmin con CloudLinux, selecciónela en Select PHP version y haga clic en Apply; sin Apply no cambia nada.
- Compruébelo de inmediato: abra su sitio y recorra varias páginas, incluida la administración, un formulario y (en una tienda) el proceso de pago. Revise el registro de errores (lección 5.4) en busca de nuevas líneas
PHP Fatal error. - Extensiones y ajustes: en algunos proveedores de alojamiento, las extensiones de PHP y opciones (como
memory_limit) están ligadas a una versión. Compruebe tras el cambio que están bien configuradas en la nueva versión.
Si algo sale mal
- Error fatal: restaure la versión anterior (en la mayoría de proveedores de alojamiento puede hacerse al instante), para que su sitio vuelva a funcionar. Busque en el registro de errores qué plugin o tema lo causó (la ruta aparece en el mensaje de error), actualícelo, sustitúyalo o pida una solución al desarrollador. Luego, inténtelo de nuevo.
- Solo mensajes deprecated: no es motivo para volver atrás. Pero es un aviso: en la siguiente versión puede convertirse en error. Anote de qué plugin se trata.
- Código a medida que deja de funcionar: un sitio antiguo creado por un desarrollador web puede contener código que ya nadie mantiene. En ese caso, ese código debe ajustarlo alguien que conozca PHP. Algunos proveedores de alojamiento, también WebOké, ofrecen hacerlo por usted.
No deje un sitio «para siempre» en una versión antigua porque un solo plugin no sea compatible. Eso solo retrasa un problema que crece cada año.
Más seguridad de antemano
Para quien quiera profundizar: con PHP_CodeSniffer y las reglas de PHPCompatibilityWP puede revisar el código de sus plugins y temas en busca de elementos que no funcionan en una versión de PHP más reciente, sin necesidad de ejecutar el sitio. Esto detecta mucho, pero no todo. Seguir probando en un entorno de pruebas sigue siendo necesario.
En la práctica: así se ve en un panel
Como ejemplo usamos DirectAdmin con CloudLinux. En cPanel suele llamarse MultiPHP Manager o Select PHP Version; en Plesk, PHP Settings.
- Abra Select PHP version (en Extra Programas).
- Haga clic en la versión de PHP version, elija la versión nueva y pulse Apply.
- Revise las pestañas Extensions y Options para la nueva versión.
- Compruebe su sitio y el registro de errores. Si algo no funciona, elija la versión anterior y pulse Apply.
Resumen
- Cada versión de PHP recibe dos años de soporte activo y dos años solo de seguridad; después, ya no hay reparaciones. El 8 de noviembre de 2026, la versión 8.1 ya no recibe nada y la 8.2 todavía hasta finales de 2026.
- Una actualización suele romper sobre todo plugins y temas antiguos; deprecated es un aviso, un fatal error detiene el sitio.
- Orden a seguir: actualizar todo, revisar los plugins, copia de seguridad, probar en un entorno de pruebas, cambiar la versión, comprobar de inmediato.
- Si algo sale mal, restaure la versión anterior, localice al culpable en el registro de errores y resuélvalo; no se quede estancado en una versión antigua.
- En muchos proveedores de alojamiento la versión se aplica a todo el paquete; depure los sitios antiguos.
Cuestionario
Ejercicio
Ejercicio A8.4: ¿Sigue siendo compatible su versión de PHP? Consulte en Herramientas > Salud del sitio (pestaña Información, Servidor) qué versión de PHP usa su sitio e indíquela, junto con su dominio. El programa compara la versión con la lista de versiones compatibles de php.net: verde si tiene soporte activo, naranja si solo tiene seguridad, rojo si ya no recibe actualizaciones. Si su servidor muestra la versión en la cabecera X-Powered-By, el programa también comprueba si coincide con lo que ha indicado (y le avisa de que es mejor ocultar esa cabecera, lección 7.4).
Ejercicio D8.4: Un plan de actualización. Redacte un plan para actualizar su sitio a la versión de PHP más reciente que ofrece su proveedor de alojamiento. Indique: versión actual y versión de destino, qué plugins y temas tiene y si son compatibles con la versión de destino (con la fuente donde lo ha comprobado), dónde va a probar (entorno de pruebas, otro paquete, en local), cómo puede volver atrás y cuándo lo va a hacer. Ejecútelo si puede, y anote lo que apareció en el registro de errores.
Ejercicio D8.4: Un plan de actualización
Este ejercicio lo hace usted mismo; nadie lo revisa. Marque lo que haya hecho y señale el ejercicio como realizado.
Elija una versión de destino con soporte activo (o al menos que siga recibiendo actualizaciones de seguridad) y mencione para cada plugin una fuente (página del plugin, changelog, Diagnóstico del sitio).
Sus marcas y notas se quedan solo en este navegador; no las enviamos a ningún sitio. Si ha iniciado sesión, en Mis cursos solo guardamos que ha realizado el ejercicio.
Para saber más
Estos artículos describen los pasos en los paneles de WebOké; en otros paneles funcionan de forma parecida.
- Manual de DirectAdmin 14.1: Elegir la versión de PHP (Select PHP version)
- Manual de DirectAdmin 14.6: Errores tras una actualización de PHP y cómo encontrar el registro de errores
- Cambiar la versión de PHP y los ajustes de PHP (y qué hacer en caso de errores tras una actualización)
- Manual de DirectAdmin 14.2: Activar y desactivar extensiones de PHP
- Manual de WebOké 6.11: Solicitar la actualización de PHP
- Versiones de PHP compatibles (php.net, en inglés): https://www.php.net/supported-versions.php
- PHP y versiones de WordPress (make.wordpress.org, en inglés): https://make.wordpress.org/core/handbook/references/php-compatibility-and-wordpress-versions/
