PHP 8 en WordPress, qué necesitas saber

por | Feb 1, 2021 | Herramientas y servicios

PHP 8 en WordPress, qué necesitas saber

PHP es el lenguaje de programación en el que esta escrito WordPress y es uno de los más usados en internet.

En noviembre del 2020 se lanzó la versión 8, una versión mayor del lenguaje, la cual incluye mejoras de seguridad, optimización y nuevas características para los desarrolladores, además elimina muchas de las funciones obsoletas de versiones anteriores.

En este artículo veremos que es lo que significa esta nueva versión en relación con WordPress y algunas recomendaciones generales en caso quieras usarlo en tu sitio.

En Webempresa ya tenemos disponible PHP 8, sin embargo tienes que solicitarlo a través de tickets de soporte para que lo habiliten en tu cuenta de hosting.

 

¿Debería actualizar a PHP 8?

Si tienes un sitio web en producción, la respuesta corta es no actualizar. Sin embargo si quieres probar PHP 8 te sugiero hacerlo en un sitio web en desarrollo o en un clon de tu sitio.

Actualmente la versión 5.6 de WordPress aún no tiene soporte completo con PHP 8, de hecho en el sitio oficial de desarrolladores de WordPress nombran a la versión 5.6 de WordPress como “beta compatible con PHP 8”, es decir una versión no terminada para ser compatible con PHP 8.

Sin embargo es seguro que futuras versiones de WordPress ya soporten completamente PHP 8

 

¿Qué podría suceder si uso PHP 8 con WordPress 5.6?

La funcionalidad del core de WordPress seguirá funcionando ya que PHP 8 tiene compatibilidad con PHP 7.x, sin embargo podrían ocurrir bugs inesperados en alguna funcionalidad particular.

Además una gran cantidad de temas y plugins, que posiblemente usarás, aún no serán compatibles con PHP 8 y podrían no comportarse como esperas.
 
PHP8 en WordPress

 

¿Qué cambios trae PHP 8 que pueden afectar a WordPress?

PHP 8 es más estricto que versiones anteriores en cuanto a la codificación. Versiones anteriores eran tolerantes a los errores que podrían cometerse al codificar.

Muchas funciones que forman parte del core ahora son estrictas, por ejemplo exigiendo los tipos de datos en los argumentos. Esto evita errores en el código por el tipo de dato.

En versiones anteriores lo que era un advertencia ahora en PHP 8 es notificado como un error.

Además algunas funciones consideradas obsoletas en versiones anteriores pero aún funcionales, fueron completamente removidas en PHP 8, algunas de estas son:


create_function()
restore_include_path()
each()

Si usas un plugin que no ha considerado las advertencias de funciones obsoletas en versiones anteriores de PHP, y no ha sido actualizado, es posible que no funcione con PHP 8.

Ten en cuenta además que muchos plugins dependen de librerías externas que igualmente deberían ser actualizadas a PHP 8.
 

¿Qué cambios tiene PHP 8 en Seguridad?

Versiones anteriores de PHP permite que las comparaciones no sean estrictas, pudiendo comparar números y letras. ( 0 == “hola” , retorna verdadero), esto es algo que se conoce como “Type Juggling”. En PHP 8 comparar números enteros con cadenas de textos con el operador == siempre retornará falso.

Muchos exploits o código malicioso puede aprovechar esta funcionalidad de versiones anteriores de PHP para saltarse validaciones y realizar operaciones no permitidas.

Además existe malware que basa su programación en las funciones obsoletas que habíamos visto anteriormente y que ahora ya no forman parte de PHP 8.

 
PHP 8 Seguridad

 

¿Qué cambios tiene PHP 8 en Optimización?

Uno de las características más importantes que trae PHP 8 en cuanto a optimización es la compilación JIT (“Just in time”).

PHP es un lenguaje interpretado, eso quiere decir que traslada el código a código de máquina mientras va ejecutando las instrucciones, es decir, no hay un proceso de compilación previo.

JIT mantiene el código que es frecuentemente usado compilado, evitando realizar nuevamente el traslado a código de máquina y rehusándolo cuando sea necesario, como resultado de este proceso se incrementan la performance de la ejecución de código en ciertas tareas repetitivas o de cálculo.

A nivel de WordPress la optimización JIT no es muy notoria, salvo tengas algún plugin que realice cálculos matemáticos intensivos.

 
PHP 8 optimización

 

Conclusión

PHP 8 es un cambio importante de versión, futuras versiones de WordPress empezarán a soportarlo y esto arrastrará también a los desarrolladores de plugins y temas.

Aunque pasará un tiempo para que los desarrolladores empiecen a adaptar y a usar las nuevas características de PHP 8, es importante estar pendientes de si los temas y plugins que usas en tu sitio web tendrán soporte para esta nueva versión de PHP.

Además si estas usando algún plugin o tema antiguo que ya no tiene soporte, tal vez es un buen momento para evaluar un cambio.

Si estás interesado en conocer más sobre PHP te dejamos un enlace a su página oficial.