Como ter no mesmo servidor Apache várias versões do PHP

  • Posted on: 25 November 2019
  • By: alcione

Com base na distribuição do Debian/Gnu-Linux Buster você pode instalar várias versões do PHP no seu Apache usando o módulo FASTCGI.

- - - - - -

Primeiro passo é inserir o repositório em sua source list:
[$] deb https://packages.sury.org/php/ buster main

Baixar a chave PGP de verificação e incluir ela no sistema do APT
[$] wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add -

Fazer um update e posterior upgrade dos repositórios para ir já atualizando sua máquina.
[$] apt update && apt upgrade -y

Agora instalamos as versões que queremos ter no sistema:
[$] apt install php5.6 php5.6-fpm php7.2 php7.2-fpm

Podemos fazer a verificação se a versão está funcionando:
[$] systemctl status php5.6-fpm
[$] systemctl status php7.2-fpm

Agora vamos instalar e habilitar o FASTCGI no Apache
[$] apt install apache2 libapache2-mod-fcgid
[$] a2enmod actions fcgid alias proxy_fcgi

Pronto já está preparado para podemos usar o recuso, agora no Apache precisamos habilitar a leitura do arquivo .htaccess modificando o arquivo de configuração dessa forma:
[apache2.conf ou httpd.conf]
AllowOverride None -> AllowOverride All

Para finalizar vamos criar um arquivo .htaccess na pasta que queremos a versão diferenciada do PHP com o seguinte conteúdo:
[~.htacess]
<FilesMatch \.php$>
#Apache 2.4.10+ can proxy to unix socket
SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost/"
</FilesMatch>

- - - - - -

Feito agora é só testar.

fontes: https://tecadmin.net/install-multiple-php-version-with-apache-on-debian/ e https://httpd.apache.org/docs/current/pt-br/howto/htaccess.html