Compatibilidad de WordPress con PHP 8

Testando PHP 8 con WordPress

El 26 de noviembre del 2020, aparece la primera «release» de PHP 8. La última versión de PHP ofrece nuevas funcionalidades que prometen mejorar en gran medida la seguridad y el rendimiento de nuestra web WordPress.

Por otro lado, WordPress Core ya es compatible con PHP 8 desde su versión 5.6

Ahora bien, la cuestión es, ¿podemos ya actualizar nuestro sitio web?

En este post analizamos los principales cambios y la compatibilidad con WordPress.

Tabla de contenidos

¿Qué mejoras de rendimiento trae PHP 8?

La característica de rendimiento más emocionante que viene con PHP 8 es JIT, la compilación «Just In Time».

PHP es un lenguaje interpretado, lo que significa que se traduce a código de máquina justo cuando se ejecuta.

JIT realiza un seguimiento del código que se utiliza con frecuencia e intenta optimizar la traducción del código de máquina para que pueda reutilizarse. Esto puede resultar en una mejora importante del rendimiento en determinadas situaciones.

La «RFC proposal» describe JIT de la siguiente manera:

“PHP JIT se implementa como una parte casi independiente de OPcache. JIT puede estar o no habilitado en tiempo de compilación y ejecución de PHP. Cuando está habilitado, el código nativo de los archivos PHP se almacena en una región adicional de la memoria compartida OPcache y «op_array→opcodes[].handlers» mantiene los punteros a los puntos de entrada del código JIT-ed”.

https://wiki.php.net/rfc/jit

Las pruebas de compilación de PHP8 muestran que JIT haría que las cargas de trabajo intensivas en CPU se ejecutaran significativamente más rápido.

Sin embargo, recuerda que el principal cuello de botella de WordPress es su base de datos. La mayor parte del tiempo de espera no proviene de la ejecución de PHP, sino del tiempo de proceso de MySQL, que no se puede resolver con la ayuda del compilador JIT.

¿Es WordPress compatible con PHP 8?

Esta es una actualización de las llamadas «Major». Esto quiere decir que incorpora gran cantidad de cambios que rompen la compatibilidad con versiones anteriores.

Uno de los cambios más importantes en PHP 8 tiene que ver con la escritura estricta, el «strict typing». Muchas de las funciones integradas ahora son más exigentes con la entrada que aceptan, y PHP 8 en sí mismo es más estricto sobre cómo se pasa la entrada a las funciones.

Otro problema importante de compatibilidad puede ser la conversión de advertencias en excepciones de error. Hay una gran cantidad de advertencias de PHP que se han cambiado a excepciones de error en PHP 8.

Muchos de los problemas que anteriormente generaban avisos «notices» ahora generan advertencias «warnings», y los problemas que anteriormente generaban «warnings» ahora generan errores.

El equipo Core de WordPress ha trabajando siempre, desde la versión 5.6, proporcionando compatibilidad con los avances de PHP. Pero, recuerda que WordPress nunca se usa de forma aislada.

Siempre instalamos temas y extensiones de terceros, por lo que un WordPress compatible con PHP 8 no significa que tenga compatibilidad al añadir extensiones y temas de terceros.

¿Cómo averiguar si mi sitio WordPress es compatible con PHP 8?

La compatibilidad con PHP 8, teniendo en cuenta el amplísimo ecosistema de extensiones y temas, es casi imposible determinarla, menos aún si tenemos en cuenta las combinaciones de temas y extensiones entre sí.

Por esa razón, nuestra recomendación es que pruebes tu website en un entorno de pruebas, separado de tu site producción.

Probar WordPress con PHP 8

Si no tienes PHP 8 con tu proveedor actual, o tu alojamiento no tiene un entorno de pruebas «staging», que te permita hacer una copia o clon de tu sitio, ¡regístrese! en 10 segundos.

En wetopi te proporcionamos servidores de desarrollo GRATUITOS (incluida la migración de una copia de tu site)

En wetopi, sea cual sea tu plan, gratuito o de pago, puedes cambiar la versión de PHP en cualquier instante y con un simple clic!

Tienes motores de PHP desde la versión 5.6 a la PHP 8

Probando mi sitio WordPress en un servidor staging wetopi

¿Quieres probar la compatibilidad de PHP 8, pero las migraciones te parecen complicadas, o no tienes tiempo?
¡No hay problema!

Nos encargamos de todo — GRATIS —

Hacemos una copia del contenido de tu sitio WordPress para que puedas probar sin prisas ni compromisos.

  1. Inicia sesión en wetopi y abre la página detalle de tu site.
  2. Despliega el «Menú Opciones» del servidor que quieras testar y haz clic en la opción Clonar:

    Clonar WordPress desde el menú opciones del servidor
  3. Para cambiar la versión de PHP en tu nuevo servidor de «staging»: despliega de nuevo el «Menú Opciones» y en sección de Opciones avanzadas, encontrarás la lista de motores «engines». Haz clic sobre v8.1 o v8.0 para que el server arranque con la nueva versión PHP 8:

    Elige PHP 8 para testar la compatibilidad con WordPress

Nuestra recomendación:

PHP 8 es la última versión de PHP hasta ahora. Esta versión presenta el motor JIT con el que los desarrolladores poco a poco irán sacando mayor partido, proporcionando más eficiencia y rendimiento. También debemos tener en cuenta que PHP 7.4 llegará al final de su vida útil en noviembre de 2022 y ya no verá actualizaciones de seguridad.

Dicho esto nuestra recomendación es:

En entorno de pruebas:
— verifica con detenimiento la compatibilidad de tu tema y extensiones WordPress. Si todo va bien actualiza. —

Resumidamente, somos unos techies apasionados por WordPress que hemos creado Wetopi, un Alojamiento Gestionado WordPress, para minimizar la fricción a la que todo profesional se enfrenta al trabajar y alojar proyectos WordPress.

¿No tienes una cuenta en wetopi?

Incluye servidores desarrollo Gratis.
Sin tarjeta de crédito.

Compara wetopi con tu alojamiento actual

Date de alta, pide una migración y compara.

Hacemos una copia de tu web gratis y sin esfuerzo por tu parte.

Sin letra pequeña.
Sin compromisos.
Sin tarjeta de crédito.