> Faqs > Cómo actualizar PHP 7.2 a 7.3 o 7.4 en un servidor ubuntu 18.04 con Nginx

Cómo actualizar PHP 7.2 a 7.3 o 7.4 en un servidor ubuntu 18.04 con Nginx

Por requerimientos de mis aplicaciones necesito hacer un upgrade de la versión de PHP de un servidor.

Tengo actualmente php 7.2 y necesito php 7.3, aunque también me valdría php 7.4 que es más actual.

Mi servidor web es nginx.

¿Cómo debo proceder?

Respuestas

El procedimiento es más sencillo de lo que parece.

Añade un nuevo repositorio a tu sistema operativo Ubuntu:

sudo add-apt-repository ppa:ondrej/php

Ten en cuenta que este comando y los siguientes posiblemente los tengas que ejecutar con "sudo", si es que no te has logueado como root.

Ahora haces un upgrade de los paquetes.

sudo apt upgrade

Con eso se instalará PHP en la versión más reciente.

Ahora puedes comprobar la versión de PHP que tienes instalada.

php -v

Al comprobar la versión que se ejecuta actualmente te debería salir un mensaje con la versión actualizada:

PHP 7.4.9 (cli) (built: Aug  7 2020 14:29:36) ( NTS )
Copyright (c) The PHP Group

Sin embargo, esta es la versión de PHP que se ejecuta a nivel de terminal de comandos, no es la versión que se ejecuta en tu servidor web.

Así que tenemos que cambiar la configuración de Nginx. Para ello te vas al sitio que quieres aumentar a PHP 7.4 (que es la que hemos instalado). Sería irse al sites-availabble, donde tienes la configuración del virtualhost del dominio a actualizar.

cd /etc/nginx/sites-available

Esa ruta puede cambiar dependiendo de cómo hayas instalado Nginx. Si no es esa ruta, busca la que corresponda.

Ahora editamos el dominio que quieres actualizar.

sudo vim example.com

Tienes que cambiar la línea donde se indica el motor de ejecución de PHP. Ahora sería algo como esto:

fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;

Busca la configuración y ajusta a tu versión que hayas instalado. Luego tienes que reiniciar Nginx.

Primero conviene ver si no hay errores en la configuración con:

nginx -t

Y luego reiniciar Nginx con:

sudo systemctl reload nginx.service

(Recuerda siempre el "sudo" si te hiciera falta)

Con esto hemos terminado el proceso y tienes la nueva versión de PHP tanto en la línea de comandos del terminal como en el dominio que necesitabas actualizar. El resto de dominios que pudieras tener los puedes dejar corriendo bajo PHP 7.2, porque en realidad no se ha desinstalado del servidor al actualizarte a php 7.4.

Julian
1147 49 87 46
Genial, ha funcionado como la seda Vaya! pensaba que sería más difícil. Con tu guía he podido actualizar la versión de PHP en 4 minutos! Gracias. El único comando que no fue copiar y pegar fue "nginx -t" que era "sudo nginx -t". De todos modos, sin problema, ya que era obvio. Para que este proceso funcione necesitas tener en el servidor software-properties-common, si no lo tienes, debes hacer "sudo apt-get install software-properties-common" Si bien el procedimiento es correcto, no debe perderse de vista que el cambio de versión puede traer problemas por incompatibilidad. Sugiero intentar la actualización en un ambiente de pruebas y, si todo sale bien realizar el procedimiento en producción.