16
Ene
Instalar múltiples versiones de PHP en Ubuntu 22.04
PHP es un lenguaje de programación de código abierto diseñado para el desarrollo web. PHP se utiliza para la creación de sitios web dinámicos, donde el contenido puede cambiar en respuesta a la interacción del usuario. Existen muchas versiones de PHP disponibles que nos permiten trabajar con varios proyectos.
Cuando trabajas con diferentes proyectos en el desarrollo web, de seguro te habrás encontrado en una situación donde tu versión de PHP no es compatible con tu proyecto.
Esto se vuelve un dolor de cabeza cuando tienes, por ejemplo, un proyecto en WordPress, uno en Laravel y otro en Magento y debes hacerlo funcionar todos en una misma computadora.
En este tutorial te enseñare cómo instalar múltiples versiones de PHP en un sistema operativo Linux, concretamente Ubuntu 22.04.
Requisitios
- Sistema operativo Linux Ubuntu 22.04
- Servidor web Apache 2
Instalando repositorio principal
Lo primero que vamos a hacer es agregar el repositorio de las versiones de PHP a nuestro sistema operativo. Ubuntu 22.04 viene por defecto con una sola versión de PHP que se puede instalar fácilmente.
Sin embargo, para tener acceso a todas las demás versiones de PHP agregaremos el repositorio con el siguiente comando:
sudo add-apt-repository ppa:ondrej/php
Ahora necesitamos decirle a Ubuntu que actualice los repositorios con el siguiente comando:
sudo apt update
Ahora sí, ya podemos empezar a instalar versiones específicas de PHP.
Instalando PHP 8.1
Vamos a empezar a instalar nuestra primera versión de PHP. En este caso será PHP 8.1 y para ello simplemente ejecutaremos el siguiente comando:
sudo apt install php8.1
Este comando nos creara varios archivos de configuración y nos instalara la versión especificada. Si deseas instalar módulos adicionales para la versión instalada, puedes hacerlo de la siguiente manera:
sudo apt install -y php8.1 php8.1-mcrypt php8.1-gd php8.1-curl php8.1-mysql php8.1-zip php8.1-xml php8.1-soap php8.1-intl php8.1-mbstring php8.1-bcmath
Ahora que ya tenemos nuestra versión de PHP 8.1 instalada, agregaremos otra versión más.
Instalando PHP 7.3
Para instalar PHP 7.3 simplemente vamos a repetir todos los pasos anteriores de la siguiente manera:
sudo apt install php7.3
Para instalar módulos adicionales de PHP 7.3, simplemente ejecutas los comandos de la siguiente manera:
sudo apt install -y php7.3 php7.3-mcrypt php7.3-gd php7.3-curl php7.3-mysql php7.3-zip php7.3-xml php7.3-soap php7.3-intl php7.3-mbstring php7.3-bcmath
Este comando te creara más archivos de configuración a tu sistema operativo Linux.
Cambiando versiones de PHP en Apache
Para comprobar la versión actual de PHP que tienes instalada junto al servidor web Apache2, vamos a crear un archivo llamado prueba.php en el directorio raíz de nuestro servidor y le agregaremos la siguiente línea de código:
<?php phpinfo(); ?>
Ingresamos a la URL http://localhost/prueba.php y veremos la versión de PHP actual.
Para desactivar esa versión de PHP en apache ejecutaremos el siguiente comando:
sudo a2dismod php8.1
Ahora vamos a activar PHP 7.3 de la siguiente manera:
sudo a2enmod php7.3
Para que los cambios surjan efecto reiniciamos el servidor:
sudo service apache2 restart
Ingresamos nuevamente a http://localhost/prueba.php y veremos que hemos cambiado nuestra version de PHP en Apache. Si necesitas volver a la version 8, simplemente repite los pasos anteriormente mencionados cambiando el número de version.
Cambiando versiones de PHP desde la Terminal
Para cambiar la version de PHP desde una terminal, necesitamos saber que version tenemos instalada actualmente. Abriremos una terminal y ejecutaremos el siguiente comando:
php -v
Ahora que ya sabes la version actual, vamos a desactivarla ejecutando el siguiente comando:
sudo update-alternatives --config php
Este comando nos abrirá un cuadro de dialogo donde nos pedirá que version queremos usar. En este caso elegiremos la 7.3.
Para comprobar que el cambio se haya realizado, simplemente volveremos a ejecutar:
php -v
De esa forma, hemos cambiado la version de PHP para el CLI o Terminal. Si necesitas regresar a la version 8, simplemente repite los pasos anteriormente mencionados y selecciona la opción de PHP que desees tener instalada.
Consideraciones finales
Recuerda que el cambio de version de PHP dependerá de tus necesidades. En la mayoría de los casos, el cambio de PHP que necesitaras será en Apache2, ya que tus aplicaciones correrán bajo ese servidor.
Si, por el contrario, necesitas la terminal para ejecutar código PHP, entonces los cambios de versiones de PHP tendrás que hacerlos para el CLI, es decir, para la Terminal, no para Apache2.
Conclusión
En este tutorial hemos aprendido a instalar repositorios adicionales a nuestro sistema operativo Linux Ubuntu 22.04 para hacer disponibles las versiones de PHP. Has aprendido a instalar múltiples versiones de PHP y has intercambiado sus versiones para que se adapten a tus diferentes proyectos. Si deseas aprender a programar en PHP, puedes acceder a mi curso de PHP haciendo clic aquí.
¡Eso es todo!
Author
Licenciado en Informatica graduado de la Universidad Tecnológica de El Salvador. PHP Developer con más de 8 años de experiencia trabajando con HTML, CSS, Bootstrap, Tailwind, JavaScript, jQuery, Knockout JS, React JS, Node JS, MySQL, PHP, Laravel, Codeigniter, Wordpress, Woocommerce y Magento.
Comments (2)
Buenas noches.
Quisiera ver si me puedes ayudar con lo siguiente.
Estoy queriendo timbrar facturas por webservice, tengo instalado ubuntu server 20.04.6 y PHP7.3, probé previo con 7.4.33, pero no puedo, según mi proveedor PAC solo con tener instalado soap, xsl y openssl según la versión y tener descomilladas en el php.ini debería funcionar, pero no funciona, no marca error, solo no carga la pagina, utilizo apache, tu sabrás si hay que realizar alguna configuración en las librerías?
Hola
Para solucionar el problema es necesario que habilites los Logs de PHP en tu servidor web Apache.
Paso 1: Edita tu archivo php.ini
sudo nano /etc/php/7.3/apache2/php.ini
Paso 2: Al final de tu archivo agrega:
display_errors = On
error_reporting = E_ALL
Paso 3: Reinicia el servidor Apache
sudo service apache2 restart
Ahora recarga tu sitio web y mira los errores en pantalla.
Tip: Probablemente necesites instalar los siguientes modulos:
sudo apt install -y php7.3-xml php7.3-soap
Recuerda reiniciar Apache
Saludos