Instalar múltiples versiones de PHP en Ubuntu 22.04 (Jammy Jellyfish)

Author
Por Darío Rivera
Publicado el en Ubuntu

PHP es un excelente lenguaje de programación que evoluciona constantemente para traernos nuevos features y mejoras. Es por esto, que muchas veces necesitaremos más de una versión instalada en nuestra computadora. La buena noticia es que en Ubuntu podemos intercambiar versiones de PHP fácilmente, el día de hoy veremos cómo hacer esto posible.

Habilitar versiones no soportadas

El primer paso consiste en validar que tenemos las dependencias necesarias. Si ya tienes instalada la versión por defecto, en este caso la 8 no es necesario este paso.

sudo apt-get install software-properties-common

Siguiente a esto debes agregar los repositorios de PHP. Este paso es necesario ya que todas las versiones no se encuentran en los repositorios de las nuevas versiones de Ubuntu.

sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php

Después de agregar los repos actualizamos nuestra lista de paquetes.

sudo apt-get update -y

Instalar una nueva versión de PHP

Para este ejemplo, vamos a instalar la versión 7.4 de PHP. Sin embargo, tu deberías poder instalar la versión que requieras según tus necesidades.

sudo apt install php7.4
Si necesitas instalar extensiones de PHP para versiones específicas puedes seguir el siguiente tutorial
- Instalar extensiones de PHP en Ubuntu

Cambiar entre versiones de PHP

Debes tener en cuenta que después de instalar una nueva versión de PHP esta no quedará automáticamente habilitada. Para cambiar de versión debes ejecutar el siguiente comando:

sudo update-alternatives --config php

Deberás digitar la opción que desees según las versiones que tengas instaladas.

There are 2 choices for the alternative php (providing /usr/bin/php).

  Selection    Path             Priority   Status
------------------------------------------------------------
* 0            /usr/bin/php8.1   81        auto mode
  1            /usr/bin/php7.4   74        manual mode
  2            /usr/bin/php8.1   81        manual mode

Press  to keep the current choice[*], or type selection number:

Esto cambiará la versión de PHP que ejecutas por consola. Sin embargo si lo que deseas es cambiar la versión de PHP en Apache deberás dejecutar los siguientes comandos según tus necesidades y versiones instaladas.

sudo a2dismode php8.1
sudo a2enmod php7.4

Después de esto debes reiniciar apache.

sudo apachectl restart

Acerca de Darío Rivera

Author

Application Architect at Elentra Corp . Quality developer and passionate learner with 10+ years of experience in web technologies. Creator of EasyHttp , an standard way to consume HTTP Clients.

LinkedIn Twitter Instagram

Sólo aquellos que han alcanzado el éxito saben que siempre estuvo a un paso del momento en que pensaron renunciar.