PHP 8.4 en hosting WordPress: qué cambió, qué mejora en rendimiento y cómo afecta a tus plugins

PHP 8.4 en hosting WordPress: qué cambió, qué mejora en rendimiento y cómo afecta a tus plugins

PHP 8.4 lleva disponible desde noviembre de 2024 y en ISPACTIVO es la versión por defecto en todos los planes de hosting web. La mayoría de los usuarios de WordPress no notan el cambio de versión de PHP porque ocurre en el servidor, no en el panel de administración. Pero el impacto en rendimiento es real y medible, y hay algunos cambios que conviene conocer si gestionas instalaciones WordPress en producción.

El JIT de PHP y su evolución hasta 8.4

El compilador JIT (Just-In-Time) se introdujo en PHP 8.0 en 2020. La idea es compilar fragmentos de código PHP a instrucciones máquina nativas durante la ejecución, en lugar de interpretarlos línea a línea cada vez. Para PHP 8.4 el JIT tiene un modo de compilación mejorado llamado JIT Tracing, que analiza los caminos de código más frecuentes (hot paths) y los compila con mayor agresividad.

Para WordPress el impacto del JIT es moderado comparado con aplicaciones computacionalmente intensivas como procesamiento de imágenes o cálculos matemáticos, porque WordPress pasa mucho tiempo en I/O (base de datos, disco) donde el JIT no ayuda. Donde sí hay ganancia medible es en el procesamiento de templates de Gutenberg, en plugins con lógica PHP compleja (WooCommerce, Elementor) y en generación de XML/JSON para APIs REST.

Property Hooks: el cambio más relevante para desarrolladores

PHP 8.4 introduce Property Hooks, que permiten definir getter y setter directamente en las propiedades de una clase sin necesidad de métodos separados:

class Producto {
    public string $nombre {
        set(string $valor) {
            $this->nombre = strtolower(trim($valor));
        }
    }
}

Para WordPress esto no cambia nada en el núcleo (que mantiene compatibilidad con PHP 7.4 por ahora), pero los plugins modernos que requieren PHP 8.x pueden empezar a usar esta sintaxis, lo que significa que si tienes PHP 8.3 o inferior en tu servidor esos plugins comenzarán a fallar con errores de sintaxis.

Lazy Objects: mejora de memoria en objetos de inicialización costosa

Los Lazy Objects permiten crear instancias de clases cuya inicialización se pospone hasta el primer acceso real a sus propiedades o métodos. Para plugins que crean objetos de configuración o conexión al arrancar WordPress sin saber si realmente se van a usar en esa petición, esto puede reducir el consumo de memoria y el tiempo de arranque.

WooCommerce, por ejemplo, inicializa decenas de objetos al cargar que no se usan en todas las páginas. Con Lazy Objects soportados a nivel de PHP, las versiones futuras de WooCommerce pueden aprovechar esto para reducir el tiempo hasta el primer byte en páginas que no son de tienda.

Funciones deprecadas en PHP 8.4 que afectan a plugins

PHP 8.4 depreca varias funciones que todavía usan plugins más antiguos. Las más relevantes para el ecosistema WordPress son:

  • implode() con el orden de argumentos invertido (glue, pieces vs pieces, glue)
  • Algunas constantes de MYSQLI_ que ciertos plugins de base de datos usan directamente
  • El uso de null en funciones de string que esperan un string no nullable

Estos deprecated no rompen los plugins (generan notices, no errores fatales en PHP 8.4), pero en PHP 9.0 se convertirán en errores. Si tienes activado el modo de debug de WordPress (WP_DEBUG=true) verás notices en el log para los plugins afectados.

Cómo verificar la compatibilidad de tus plugins con PHP 8.4

El plugin PHP Compatibility Checker para WordPress analiza todos los plugins y temas instalados y reporta qué código es incompatible con qué versión de PHP. Es la forma más rápida de identificar problemas antes de actualizar la versión de PHP en producción.

Desde nuestro panel de hosting puedes cambiar la versión de PHP por dominio sin afectar a otros dominios del mismo plan. Esto permite probar PHP 8.4 en un entorno de staging o en un dominio de prueba antes de activarlo en producción, minimizando el riesgo de incompatibilidades.

Rendimiento medido: PHP 7.4 vs 8.0 vs 8.4 en WordPress

En benchmarks con WordPress 6.5, WooCommerce 9.x y un tema de bloque estándar, la mejora de rendimiento por versión de PHP en operaciones de página completa (sin caché de página) es aproximadamente: PHP 7.4 como base, PHP 8.0 un 20-25% más rápido, PHP 8.1 un 5-8% adicional sobre 8.0, PHP 8.2 un 3-5% adicional, PHP 8.3 un 2-3% adicional, PHP 8.4 un 3-5% adicional sobre 8.3. El salto más grande fue de 7.4 a 8.0, donde el nuevo motor de tipos y el JIT marcaron la diferencia. Las versiones posteriores siguen mejorando de forma más incremental.

Hosting Web SSD ultrarrápido e ilimitado

Hosting Web SSD NVMe, 100% Ecológico y sostenible, máxima velocidad y tráfico ilimitado en tu Hosting Web, con certificado SSL gratuito 

Hosting Web logo

Hosting Web ecológico, profesional e ilimitado en España,  somos especialistas en servicios de Hosting SSD, con más de 22 años de experiencia y un equipo de profesionales altamente cualificados a su disposición las 24 Horas.