Como Instalar e Gerenciar Múltiplas Versões do PHP no Debian

O Debian 12, por padrão, pode não incluir versões mais antigas do PHP nos seus repositórios. No entanto, é possível instalar e gerenciar múltiplas versões do PHP utilizando o repositório do Sury e a ferramenta update-alternatives. Este tutorial explica como instalar diferentes versões do PHP e alternar entre elas conforme necessário.

Passo 1: Adicionar o Repositório Sury

O repositório Sury mantém pacotes atualizados para várias versões do PHP. Para adicioná-lo ao seu sistema, execute os seguintes comandos:

apt install -y lsb-release apt-transport-https ca-certificates curl
curl -fsSL https://packages.sury.org/php/README.txt | bash -
apt update

Passo 2: Instalar Múltiplas Versões do PHP

Agora, instale as versões desejadas do PHP. Por exemplo, para instalar o PHP 7.4, 8.0 e 8.3, use:

apt install -y php7.4 php8.0 php8.3

Se estiver usando o Apache, instale os módulos necessários:

apt install -y libapache2-mod-php7.4 libapache2-mod-php8.0 libapache2-mod-php8.3

Se for utilizar com Nginx ou outro servidor, instale o PHP-FPM:

apt install -y php7.4-fpm php8.0-fpm php8.3-fpm

Passo 3: Alternar entre Versões do PHP

O Debian permite gerenciar diferentes versões do PHP com o comando update-alternatives.

  1. Para listar as versões instaladas e definir uma versão padrão: update-alternatives --config php Esse comando exibirá uma lista com as versões disponíveis. Escolha a desejada digitando o número correspondente.
  2. Para definir manualmente uma versão específica: update-alternatives --set php /usr/bin/php8.3

Passo 4: Configurar o Apache para Usar uma Versão Específica

Se estiver rodando o Apache, desative a versão antiga do PHP e ative a nova:

a2dismod php7.4
a2enmod php8.3
systemctl restart apache2

Para testar, crie um arquivo info.php em /var/www/html/:

echo "<?php phpinfo(); ?>" > /var/www/html/info.php

Acesse http://seu-servidor/info.php no navegador para verificar a versão ativa.

Conclusão

Agora você tem múltiplas versões do PHP instaladas e configuradas no Debian, podendo alternar entre elas conforme necessário. Isso facilita a compatibilidade com diferentes projetos sem precisar remover ou sobrescrever versões antigas do PHP.

Rolar para cima