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
.
- 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. - 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.