Hablando de Servidores Ubuntu y su compatibilidad para gestionar múltiples versiones de PHP, hay algunos retos esenciales que un desarrollador puede enfrentar. A menudo, necesitaremos contar con distintas versiones de PHP para nuestras diversas aplicaciones web. En Ubuntu 18.04, es totalmente posible tener más de una versión de PHP instalada.
Apache, siendo uno de los servidores web más populares, permite esta flexibilidad. Esta guía abordará cómo configurar dos versiones de PHP en Apache en Ubuntu 18.04.
Instalación de PHP
Para instalar dos versiones de PHP en Ubuntu 18.04, primero necesitaremos añadir el repositorio de terceros Ondřej Surý, que proporciona las últimas versiones de PHP.
sudo apt-get install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt-get update
Después de agregar el repositorio, puedes instalar PHP 7.2 y PHP 7.3 (por ejemplo) utilizando el siguiente comando:
sudo apt-get install php7.2 php7.3
Configuración de Apache para diferentes versiones de PHP
Una vez que tenemos instaladas las versiones de PHP, el siguiente paso es configurar Apache para utilizar la versión de PHP que se necesite. Apache utiliza el módulo libapache2-mod-php para procesar archivos PHP.
sudo a2dismod php7.2 sudo a2enmod php7.3 sudo systemctl restart apache2
El comando a2dismod desactiva un módulo (en este caso PHP 7.2), mientras que el comando a2enmod habilita un módulo (en este caso PHP 7.3). Luego de hacerlo, este será el módulo por defecto. Sin embargo, cabe recordar que para llevar a cabo esta operación de forma correcta, es necesario que el jugador reinicie el servidor Apache, tal como lo indica el último comando.
Elección de la versión de PHP por cada sitio web
La versatilidad de Apache se demuestra aún más cuando necesitamos que las diferentes versiones de PHP se ejecuten en diferentes sitios web en el mismo servidor. Para conseguir esto, es necesario tener configurado cada sitio de forma independiente.
# habilitar php7.2 SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost" # habilitar php7.3 SetHandler "proxy:unix:/var/run/php/php7.3-fpm.sock|fcgi://localhost"
Este código en particular indica el directorio en el que se almacenan los archivos para los sitios web, y dentro de estos, utilizando la directiva FilesMatch, se establece la versión de PHP para ese sitio.
Concluyendo, Ubuntu 18.04 proporciona una gran funcionalidad para manejar varias versiones de PHP en el mismo servidor, y Apache facilita aún más esta gestión. El truco es configurar correctamente cada sitio web para que Apache pueda asignar a cada uno la versión de PHP correcta.