Guía para propietarios · PHP
Cómo comprobar tu versión de PHP y actualizar de forma segura
Guía para propietarios: comprueba PHP en WordPress, hosting o SSH, haz un respaldo completo y aplica las correcciones de octubre de 2026 según tu entorno.
Por qué conviene actualizar
El 21 de octubre de 2026, PHP publicó correcciones para CVE-2026-109618 y CVE-2026-109619. Estas fallas del runtime pueden permitir ejecución remota de código sin autenticación en instalaciones que atienden solicitudes web. Actualiza la rama que utiliza tu sitio a su versión corregida o a una revisión del proveedor que incluya ambas correcciones.
| Rama de PHP | Versión corregida de PHP.net |
|---|---|
| PHP 8.5 | 8.5.12 |
| PHP 8.4 | 8.4.27 |
| PHP 8.3 | 8.3.36 |
| PHP 8.2 | 8.2.35 |
PHP 8.1 y anteriores ya no reciben versiones oficiales de PHP.net: confirma un backport con tu proveedor de distribución/LTS o migra a una rama con soporte. PHP 8.2 llega al fin de soporte el 31 de diciembre de 2026; programa también esa migración.
Fuentes oficiales: PHP.net · 2026
1. Antes de cambiar nada: respaldo completo
Guarda archivos, base de datos y configuración
Haz un respaldo completo del sitio y del servidor o servicio correspondiente. Incluye archivos subidos, configuración de PHP y del servidor web. Guarda una copia fuera del servidor y comprueba que puedes restaurarla.
Prepara una prueba y una ventana de mantenimiento
Anota la versión actual, extensiones, dominios y pools que utiliza cada sitio. Prueba la actualización en una copia de staging cuando sea posible y define cómo restaurar el servicio si hay incompatibilidades. Si necesitas volver a un runtime vulnerable, mantén el sitio fuera de línea hasta corregirlo.
2. Comprueba el PHP que realmente usa tu sitio
WordPress
En el administrador abre Herramientas → Salud del sitio → Información → Servidor (Tools → Site Health → Info → Server). Anota la versión de PHP. Este dato corresponde al sitio web; si usas paquetes de una distribución, pide también la revisión completa al hosting.
cPanel o Plesk
En cPanel abre Software → MultiPHP Manager y revisa cada dominio. En Plesk abre Sitios web y dominios → tu dominio → Configuración de PHP (PHP Settings). Anota la versión y el controlador activos; distintos dominios pueden usar distintos PHP.
SSH: consola y PHP-FPM
En tu propio servidor, consulta ambas versiones. El PHP de consola puede ser distinto al que atiende la web. Si no existe php-fpm sin versión, usa el binario de tu rama, por ejemplo php8.3-fpm -v. En Apache con mod_php confirma también el módulo y el paquete activos.
php -v php-fpm -vUbuntu/Debian: revisa el paquete completo
Ejemplo para PHP 8.3 con FPM: adapta los nombres a tu instalación. apt policy muestra la versión instalada, la candidata y el repositorio; dpkg -l permite revisar PHP, extensiones y el módulo de Apache.
php8.3-fpm -v apt policy php8.3-fpm php8.3-cli php8.3-common dpkg -l 'php*' 'libapache2-mod-php*'
Las distribuciones incorporan parches sin cambiar toda la numeración de PHP. Por eso 8.3.6 en Ubuntu puede estar corregido: compara la revisión completa del paquete y su origen con el aviso de tu distribución, no solo php -v. Estas son revisiones corregidas publicadas; una revisión posterior debe estar confirmada por el mismo proveedor.
| Sistema y paquete | Revisión corregida |
|---|---|
| Ubuntu 22.04 · php8.1 | 8.1.2-1ubuntu2.28 |
| Ubuntu 24.04 · php8.3 | 8.3.6-0ubuntu0.24.04.13 |
| Ubuntu 26.04 · php8.5 | 8.5.4-0ubuntu1.5 |
| Ubuntu 26.10 · php8.5 | 8.5.9-0ubuntu2.1 |
| Debian bookworm · php8.2 · DLA-4848-1 | 8.2.35-1~deb12u1 |
| Debian trixie · php8.4 · DSA-6574-1 | 8.4.27-1~deb13u1 |
Ubuntu: USN-8948-1; versiones antiguas pueden necesitar Ubuntu Pro. Debian: DSA-6574-1 para trixie y DLA-4848-1 para bookworm. El tracker de Debian señala sid como pendiente en el corte de esta guía. No uses revisiones de otra distribución o versión del sistema.
Fuentes oficiales: Ubuntu · USN-8948-1 · Debian · DSA-6574-1 / DLA-4848-1
3. Actualiza según tu entorno
Empieza siempre por el respaldo completo del paso 1. Sigue únicamente la opción que corresponda a tu sitio y vuelve a comprobar la web después de reiniciar o desplegar.
Hosting compartido: cPanel / Plesk
Respalda y pide el parche al proveedor
Conserva el respaldo completo antes de cambiar PHP. Si solo tienes acceso de cliente, pide al hosting que instale la revisión corregida; elegir “8.3” o “8.4” por sí solo no demuestra que esté aplicada.
cPanel: actualiza EasyApache y selecciona el dominio
El administrador debe actualizar los paquetes de EasyApache 4 en WHM. Las versiones corregidas son ea-php85 8.5.12, ea-php84 8.4.27, ea-php83 8.3.36 y ea-php82 8.2.35. Después selecciona el dominio en MultiPHP Manager y aplica una rama compatible ya corregida.
Plesk: actualiza el runtime y su configuración
El administrador debe instalar las actualizaciones de PHP mediante el instalador de Plesk y seleccionar el runtime en PHP Settings del dominio. El aviso indica 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 para Linux; no presupongas lo mismo en Windows o PHP 7.4–8.1: consulta al proveedor.
Confirma el reinicio y prueba cada dominio
Pide que reinicien los workers de PHP-FPM o Apache que atienden el sitio. Revisa de nuevo la versión real y prueba inicio de sesión, formularios y cargas habituales.
Fuentes oficiales: cPanel · EasyApache 4 · Plesk · PHP
Ubuntu / Debian y PPA de Ondřej: apt
Respalda e identifica la rama y el repositorio
Con el respaldo completo listo, compara apt policy con USN-8948-1 o el aviso de Debian. Si el servidor Ubuntu ya usa ppa:ondrej/php, verifica los paquetes corregidos 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12 publicados para jammy y noble el 21 de octubre. No añadas un PPA de Ubuntu a Debian ni mezcles repositorios para seguir este ejemplo.
Actualiza los paquetes de la rama instalada
Ejemplo para PHP 8.3 con FPM. Sustituye 8.3 por tu rama y agrega a la actualización las extensiones instaladas que utiliza la aplicación. Con mod_php, actualiza también el paquete libapache2-mod-php de tu rama. Si no aparece una candidata corregida, resuelve el repositorio con el proveedor antes de continuar.
sudo apt update apt policy php8.3-fpm php8.3-cli php8.3-common sudo apt install --only-upgrade php8.3-fpm php8.3-cli php8.3-commonReinicia PHP-FPM si tu sitio lo utiliza
Usa el servicio de la rama que realmente atiende la web; repite en cada pool, servicio o servidor correspondiente. Este ejemplo es para PHP 8.3.
sudo systemctl restart php8.3-fpmReinicia Apache si tu sitio lo utiliza
Para Apache con mod_php, este reinicio es necesario para cargar el parche. Si Apache usa FPM, reinicia también el FPM correspondiente. Después revisa apt policy, la web y los registros.
sudo systemctl restart apache2
Fuentes oficiales: Ubuntu · USN-8948-1 · Debian · DSA-6574-1 / DLA-4848-1 · Ondřej Surý · Launchpad
Docker: imágenes oficiales de PHP
Respalda también los datos persistentes
Antes de reconstruir, respalda base de datos, archivos subidos, volúmenes y configuración. Una imagen de contenedor no es un respaldo de esos datos.
Fija una etiqueta corregida
Usa php:8.5.12, php:8.4.27, php:8.3.36 o php:8.2.35 con la variante adecuada, por ejemplo -fpm o -apache. Conserva la variante de sistema y las extensiones que requiere tu aplicación. Ejemplo de Dockerfile:
FROM php:8.4.27-fpmReconstruye y vuelve a desplegar
Ejemplo para Docker Compose con servicios que se construyen desde un Dockerfile: descarga la base actualizada y reconstruye sin caché. En otro orquestador, publica y despliega la nueva imagen por su flujo habitual. Si Compose solo usa image:, cambia la etiqueta y descarga la imagen corregida antes de recrear el servicio.
docker compose build --pull --no-cache docker compose up -dVerifica todas las réplicas
Comprueba PHP dentro de los contenedores nuevos y el runtime que atiende la web. Confirma que ninguna réplica anterior siga recibiendo tráfico y prueba la aplicación.
Fuentes oficiales: Docker · Official Images / PHP · PHP.net · 2026
Laravel Forge
Respalda servidor y aplicación
Guarda el respaldo completo antes de aplicar cambios. El aviso de Laravel del 21 de octubre, actualizado a las 17:12 UTC, distingue el método según la rama.
PHP 8.5: Update PHP
Abre tu servidor en el panel de Forge y pulsa Update PHP. Confirma que termina con una revisión corregida y que los servicios se reinician.
PHP 8.2–8.4: SSH y apt
Según ese aviso, usa SSH y el procedimiento apt de esta guía, con los paquetes y el servicio de tu rama. Reinicia PHP-FPM y Apache cuando corresponda; revisa también otros procesos persistentes de la aplicación.
Si no puedes actualizar
Laravel recomienda apagar el servidor hasta poder aplicar la actualización. Conserva primero tu respaldo. Si usas Vapor, el aviso indica volver a desplegar para incorporar el runtime actualizado.
Fuentes oficiales: Laravel · 2026-10-21
WordPress: el cambio está en el hosting
Respalda WordPress completo
Guarda archivos, subidas, base de datos y configuración; comprueba la restauración antes del cambio de runtime.
Actualiza el PHP que ejecuta WordPress
Sigue la opción de hosting, apt o Docker que use tu instalación. Actualizar WordPress, un tema o un plugin no corrige estas fallas del runtime de PHP. Pide al proveedor confirmación de ambas correcciones si gestiona el servidor.
Vuelve a Salud del sitio
Comprueba Herramientas → Salud del sitio → Información → Servidor y pide la revisión del paquete si hay backports. Prueba acceso al administrador, formularios, compras y cargas que utilice el sitio.
Fuentes oficiales: PHP.net · 2026
4. Confirma la actualización antes de cerrar
Verifica el runtime web y los paquetes
Confirma la versión corregida o el backport del proveedor, el reinicio de todos los workers y cada dominio, servidor o réplica. Una consola actualizada no prueba que el PHP de la web ya esté corregido.
Prueba las funciones habituales
Comprueba páginas, inicio de sesión, formularios, cargas y pagos según la aplicación. Revisa errores y conserva el respaldo y el registro de las versiones aplicadas.
Cloudflare: protección provisional mientras actualizas
Confirma el proxy: nube naranja
Cloudflare indica que sus reglas se desplegaron automáticamente desde el 21 de octubre de 2026 a las 03:02 UTC en todos los planes, incluido Free mediante Cloudflare Managed Free Ruleset. Comprueba que los nombres DNS que sirven la web estén proxied, con nube naranja.
Pro, Business y Enterprise: confirma Block
Comprueba que Cloudflare Managed Ruleset esté desplegado y que las reglas de protección estén en modo Block. Revisa Security → Security Analytics → Events para confirmar su actividad.
El WAF no es el parche. Solo protege el tráfico que pasa por Cloudflare y no corrige el runtime del servidor; completa la actualización aunque las reglas estén activas.
Fuentes oficiales: Cloudflare · WAF
Mitigaciones temporales de PHP.net: incompletas
Úsalas únicamente con el administrador mientras se prepara el parche, con respaldo completo antes de editar la configuración. No hacen que una instalación vulnerable sea segura.
memory_limit=-1 a nivel administrativo
PHP.net indica quitar el límite de memoria de PHP mediante php_admin_value, sin permitir que la aplicación lo reduzca de nuevo. Ejemplo de pool FPM; en Apache la sintaxis es php_admin_value memory_limit -1. Esto puede aumentar el consumo de memoria: el administrador debe vigilar la capacidad del servidor.
php_admin_value[memory_limit] = -1Límites de POST y progreso de subida
En php.ini o configuración del servidor, usa post_max_size=8M sin cargas o 32M si son necesarias, con upload_max_filesize por debajo. Configura session.upload_progress.enabled=0 antes del procesamiento de solicitudes; ini_set() y .user.ini no bastan. Adapta estos valores de ejemplo al sitio:
post_max_size = 8M upload_max_filesize = 2M session.upload_progress.enabled = 0PHP 8.5: desactiva las trazas de errores fatales
Solo en PHP 8.5, aplica también esta opción en la configuración del servidor.
fatal_error_backtraces = 0Reinicia todos los workers
Reinicia todos los servicios de PHP-FPM o Apache afectados y verifica la configuración efectiva de cada sitio. Estas medidas cubren solo parte del problema; sigue hasta instalar el parche.
No hay una mitigación completa que sustituya a la actualización. Si no puedes corregir el servidor, coordina con su propietario una interrupción temporal del servicio.
Fuentes oficiales: PHP.net · 2026
¿Necesitas ayuda? Contrátanos
Podemos ayudarte a identificar el runtime, preparar el respaldo, aplicar la actualización y comprobar que tu sitio siga funcionando.
Solo trabajamos en sitios que su propietario autoriza por escrito y siempre hacemos un respaldo completo antes de cambiar nada.