Hace unas semanas hablábamos de la necesidad de actualizar el código de tus aplicaciones y servidores a versiones de PHP que al menos cuenten con soporte de seguridad. De esta forma, evitarás que cualquier vulnerabilidad encontrada en una versión obsoleta pueda poner en peligro tus sitios web. Pero, si quieres hacerle a tu web un buen regalo, pásate a PHP 7.3, la ultimísima versión del lenguaje de programación.
Las principales novedades de PHP 7.3
Como viene siendo habitual, con cada actualización de PHP se establecen cambios en la sintaxis, se añaden características nuevas y se marcan como obsoletas algunas funciones. En su empeño por mejorar y refinar la escritura de código y la velocidad de la rama 7.x. Estas son algunas de las novedades que introduce PHP 7.3:
- JSON_THROW_ON_ERROR. Si utilizas ficheros JSON, esta nueva opción para controlar los errores en una cadena JSON te ayudará a detectarlos y escribirlos con mayor facilidad.
- Setcookie(): SameSite [Lax, Strict]. Para evitar ataques CSRF, PHP 7.3 incorpora una función que permite saber quién genera una cookie, algo que es de gran utilidad para ayudarte a cumplir con el RGPD. Con esta función una cookie podrá ser leída desde otros dominios si contiene Lax; y si contiene Strict solo podrá ser leída desde el mismo dominio.
- is_countable(). Con esta nueva función procesar un array con datos es mucho más sencillo, ya que indica si los valores contenidos en el parámetro pueden contarse o no.
- array_key_first() y array_key_last(). Para extraer de forma rápida la primera y la última clave de un array.
- FFI (Interfaz de Función Externa) para que se pueda escribir código C dentro de los scripts de PHP; además de permitir acceder a las funciones o variables de este otro lenguaje de programación. Con esta nueva funcionalidad, el código C que escribas dentro de un script de PHP tendrá un mayor rendimiento que el código PHP nativo.
Mejoras y funciones obsoletas
En cuanto a mejoras,
- La sintaxis Heredoc y Nowdoc para pintar textos es mucho más flexible.
- La coma final en los valores de función se considera un error menor. Con PHP 7.3 si en una lista de parámetros queda olvidada una coma final, es decir sin que le siga ningún valor después, dejará de dar error.
- list() incorpora la asignación por referencia de las variables dentro de una misma función.
- Hash Argon2, una función incluida en versiones anteriores, incorpora tres variantes que ayudarán a evitar ataques de cracking.
- Soporte actualizado para SQLite.
- Nuevas formas para obtener información sobre las interfaces de red.
- Nuevas funciones para integrar más características de LDAP.
Y como funciones obsoletas:
- Image2wbmp() será reemplazada por imagewbmp ( ).
- Los subfiltros de FILTER_VALIDATE_URL que forzaban al uso de scheme y host.
- Constantes case-insensitive. Aunque ya muy poco utilizada, en PHP 7.3 se acaba finalmente con las constantes que no distinguen entre mayúsculas y minúsculas.
- Todos los alias de función de mbstring sin documentar serán considerados obsoletos.
Aunque ya hemos incluido PHP 7.3 en nuestros servicios con Plesk y la opción está disponible entre la lista de versiones que puedes utilizar, algunos CMS pueden presentar incompatibilidades con PHP 7.3. Por ejemplo, WordPress aún no es compatible con la última versión de PHP.
Como siempre, este tipo de cambios es recomendable hacerlo en un entorno de pruebas y nunca en producción. Así que, si quieres probar a actualizar tu WordPress a PHP 7.3, hazlo en una página de prueba. De esta forma en el caso de que el tema o algún plugin cause incompatibilidades con la versión de PHP, evitarás que toda la web se rompa.
En el caso de que no cuentes con panel de control Plesk Obsidian y quieras actualizar el código a PHP 7.3, o realizar otras acciones como activar el modo seguro en WordPress, ponte en contacto con nosotros para que te asesoremos sobre este cambio.