PHP. Usar una versión diferente en un VirtualHost Apache

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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.