Actualizar PHP 7.3 en Ubuntu y Debian
En este artículo vamos a ver como podemos actualizar PHP a la versión 7.3 en Ubuntu y Debian.
Es posible que tu CMS WordPress o cualquier otro te avise de que estás trabajando con una versión antigua de PHP.
WordPress ha detectado que tu sitio está funcionando con una versión insegura de PHP.
Ejemplo de WordPress quejándose de tu versión de PHP
Es bastante facil realizar esta actualización pero recuerda realizar unas copias de seguridad de tus webs antes de empezar a toquetear.
Índice
Como actualizar PHP
Para actualizar PHP de una forma correcta debemos añadir un repositorio. Tambien tenemos que exportar un listado con todas las extensiones PHP que teníamos instaladas para instalarlas posteriormente y como no, tenemos que instalar la nueva versión de PHP.
No te asustes, vamos paso por paso.
Añadimos el respositorio necesario
Empezaremos instalando el repositorio PHP PPA Ondrej. Este repositorio publica PHP 7.3 en todas las versiones compatibles de Ubuntu y Debian.
Añadir repositorio en Ubuntu
sudo add-apt-repository ppa:ondrej/php
sudo apt update
Añadir repositorio en Debian
sudo apt install apt-transport-https lsb-release
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sudo sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
El resto de pasos son similares en ambas distribuciones
Si estás actualizando PHP desde una versión anterior, es importante asegurarse de tener instaladas las mismas extensiones PHP.
Desde la versión PHP 7.2 en adelante ya no se incluye la extensión mcrypt. Aparte de eso, PHP 7.3 incluye todas las extensiones que estaban en PHP 7.1 y 7.2.
Para ver las extensiones instaladas puedes utilizar el comando dpkg -l | grep php | tee extphp.txt . Este comando lee los paquetes de PHP y los vuelca en un fichero de texto llamado extphp.txt. El fichero se guarda en el directorio en el que estás trabajando.
Instalación base de PHP 7.3
sudo apt install php7.3 php7.3-common php7.3-cli
Instalar las extensiones de PHP necesarias
Ahora puedes instalar las extensiones de PHP que puedas necesitar. Si estás configurando de cero, o no sabes qué paquetes instalar, puedes instalar los siguientes paquetes con el siguiente comando.
Si estás actualizando, mira el archivo extphp.txt que exportaste anteriormente para ver la lista de extensiones que tenias instaladas y añade las que te hagan falta.
apt install php7.3-mysql php7.3-bcmath php7.3-bz2 php7.3-curl php7.3-gd php7.3-intl php7.3-json php7.3-mbstring php7.3-readline php7.3-xml php7.3-zip
Una vez instaladas las extensiones, seguramente necesites integrar PHP con Apache. Si utilizas utilizando Nginx o Apache con mod_event, necesitas instalar el paquete php7.3-fpm. Si en cambio usas PHP como un módulo de Apache incorporado, necesitas el paquete libapache2-mod-php7.3.
En Apache, puedes lanzar el comando apachectl -V para ver la versión de MPM actual, ya sea prefork o evento.
Nginx y Apache con Event MPM
apt install php7.3-fpm
Apache con Prefork MPM
apt install libapache2-mod-php7.3
Comprobar la instalación del nuevo PHP
Para ver si se ha instalado correctamente podemos lanzar el comando php -v
php -v
Este comando nos devolverá última la versión de PHP instalada en nuestro servidor linux.
Ahora, vamos a colocar en alguna de nuestras webs un fichero llamado info.php para ver la versión de PHP con la que está funcionando.
Navegamos hasta la ubicación donde se encuentra la web en la que queremos poner el archivo y escribimos:
sudo nano info.php
Dentro de este archivo añadimos lo siguiente:
<?php
phpinfo();
?>
Ahora accedemos a esa web que acabamos de publicar desde cualquier navegador. Por ejemplo: www.tufantasticawebconphp.com/info.php
Cambiar y activar la versión de PHP en Apache
Para cambiar la versión de PHP con la que está trabajando Apache primero debemos deshabilitar la version de PHP. Esto lo hacemos con el comando a2dismod phpX (Donde X es la versión de PHP que queremos deshabilitar)
a2dismod php7.0
sudo service apache2 restart
A continuacuón debemos activar la nueva versión, esto lo hacemos con el comando a2enmod phpX (Donde X es la versión de PHP que hemos instalado y queremos habilitar)
a2enmod php7.3
service apache2 restart
Una vez hecho esto, volvemos a acceder a nuestra web para comprobar el info.php y veremos que ya estamos funcionando con la versión de PHP que hemos habilitado.