Siguiendo con mis curiosidades en PHP he tenido la necesidad de usar una versión de PHP más antigua para un determinado sistema web, sin embargo tengo muchos otros VirtualHosts que deben funcionar con una versión actualizada.
Para ponernos en ámbito imaginemos que tenemos Apache instalado y este funciona con la versión 8.1. Necesitamos implementar un nuevo VirtualHost que únicamente es compatible con la versión 7.4 de PHP. ¿Como hacemos esto?
Pues bien, lo primero de todo es buscar un repositorio que tenga varias versiones de PHP, ya que en los repositorios oficiales de la distribución solo vendrá una versión. Entre todos los repositorios disponibles vamos a usar el PPA de ondrej/php.
Para ello ejecutamos el siguiente comando
sudo add-apt-repository ppa:ondrej/php
Actualizamos
sudo apt update
e instalamos los siguientes paquetes; en caso de que la aplicación web necesite más módulos los agregamos.
sudo apt-get install php7.4 php7.4-fpm php7.4-mysql libapache2-mod-php7.4 libapache2-mod-fcgid
Iniciamos la versión 7.4 en Apache
sudo systemctl start php7.4-fpm
y activamos los siguientes módulos de forma que Apache pueda usar varias versiones de PHP
sudo a2enmod actions alias fcgid proxy_fcgi
Una vez hecho si ya tenemos configurado el VirtualHost vamos a editarlo para añadir lo siguiente y que funcione con la versión 7.4
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost"
</FilesMatch>
y reiniciamos el servicio Apache
sudo systemctl restart apache2
Nota informativa: La información contenida en esta entrada, así como el código incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en la presente entrada.