Volver al Blog

¿Cuáles son los beneficios de PHP 8.1 y los comandos para actualizar desde una versión anterior en Nginx?

2022-12-303 min de lectura

Nuevas características y mejoras de PHP 8.1

PHP 8.1 es la última versión del popular lenguaje de scripting del lado del servidor, y trae consigo una gran cantidad de nuevas características y mejoras que lo convierten en una opción atractiva para los desarrolladores. En este artículo, destacaremos algunos de los beneficios clave de actualizar a PHP 8.1.

En primer lugar, PHP 8.1 introduce una serie de mejoras de rendimiento que lo hacen más rápido y eficiente que las versiones anteriores. Esto se logra a través de varias optimizaciones, como el compilador JIT (Just-In-Time), que convierte el código en instrucciones legibles por máquina en tiempo de ejecución, y la característica de tipos de unión, que permite una comprobación de tipos más eficiente. Estas y otras mejoras resultan en importantes ganancias de rendimiento, que pueden ser especialmente beneficiosas para sitios web y aplicaciones con mucho tráfico.

Otro beneficio de PHP 8.1 son sus capacidades mejoradas de manejo de errores y depuración. La nueva característica de errores lanzables permite a los desarrolladores capturar y manejar errores de manera más efectiva, mientras que el sistema de tipos mejorado facilita la captura y corrección de problemas desde el principio del proceso de desarrollo. Además, la nueva característica de expresión “match” permite un código más conciso y expresivo, lo que puede facilitar la depuración y el mantenimiento.

PHP 8.1 también introduce una serie de nuevas características de lenguaje que lo hacen más potente y flexible. La característica de tipos de unión mencionada anteriormente permite a los desarrolladores especificar múltiples tipos posibles para una variable, lo que puede ser especialmente útil al trabajar con bibliotecas o API externas. La nueva característica de “promoción de propiedades del constructor” permite a los desarrolladores simplificar su código al eliminar la necesidad de escribir getters y setters redundantes, mientras que la nueva característica de “atributos” permite a los desarrolladores adjuntar metadatos a miembros de clases, funciones y otras construcciones del lenguaje.

Comandos para actualizar a PHP 8.1 en un servidor Nginx en Ubuntu

Para fines de esta guía, estamos usando Ubuntu

sudo apt update

sudo apt install lsb-release ca-certificates apt-transport-https software-properties-common -y

sudo add-apt-repository ppa:ondrej/php

sudo apt install php8.1
sudo apt install php8.1-{imagick,bz2,curl,intl,mysql,readline,xml,fpm,mbstring,zip,bcmath,gd}

Actualizar los bloques de servidor de Nginx

Edite el bloque de servidor para los dominios que desea que comiencen a usar la versión PHP 8.1. Uso nano como mi editor de texto, pero puede usar vim, vi o cualquier otro editor de texto de su preferencia.

nano /etc/nginx/sites-available/yoursiteone.com

nano /etc/nginx/sites-available/yoursitetwo.com

Debería encontrar una línea que se parezca a esta: fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; y reemplace el número de la versión actual de PHP, en mi caso 7.4, con 8.1.

Ejemplo de bloque Nginx para actualizar a PHP 8.1

Después de reiniciar el servidor Nginx con: service nginx restart, su(s) sitio(s) comenzará(n) a usar PHP 8.1

Puede obtener más información sobre los bloques de servidor en Nginx en:

Cómo configurar bloques de servidor Nginx (virtual hosts)

Ejemplos de bloques de servidor

Si está utilizando DDEV para su entorno local, puede usar el siguiente comando para actualizar a PHP 8.1: ddev config --php-version 8.1 Puede encontrar más información sobre DDEV en este enlace.

En resumen, PHP 8.1 ofrece una serie de beneficios que lo convierten en una opción atractiva para los desarrolladores. Sus mejoras de rendimiento y capacidades de manejo de errores mejoradas lo hacen más rápido y confiable, mientras que sus nuevas características de lenguaje lo hacen más potente y flexible. Si actualmente está utilizando una versión anterior de PHP, se recomienda encarecidamente actualizar a PHP 8.1.