Neste artigo vamos aprender a realizar a configuração de várias versões do PHP no Ubuntu. A primeira pergunta que talvez passe por nossa cabeça seja: “Mas por que fazer isso? Por que configurar mais de uma versão do PHP no mesmo servidor?” No ambiente de produção isso talvez não faça sentido realmente. Contudo, ao trabalhar no ambiente de desenvolvimento, pode ser que essa configuração se mostre necessária.
Ao testar o PHP 8 podemos ver essa necessidade. Imagine que desejamos realizar testes nas diferentes versões Alpha e Beta, até mesmo para comparar as particularidades de cada uma delas. Para não precisar remover uma versão e instalar outra toda vez, podemos configurar várias versões que podem ser executadas em paralelo. É isso o que iremos fazer neste artigo.
Essa instalação será realizada sem usar o apt-get ou outro gerenciador de pacotes. Também não iremos usar o Apache. A instalação e configuração ocorrerá a partir dos arquivos PHP que baixarmos da origem.
Instalando a versão Beta 1 do PHP 8
Nós já mostramos como realizar a instalação da versão Alpha 3 do PHP 8. Você pode conferir esse conteúdo no artigo PHP 8 - Instalação e Configuração no Ubuntu 20.04 e Windows.
O objetivo deste artigo será instalar a versão Beta 1 do PHP 8, lançada na última quinta-feira, e permitir que a versão mais antiga continue funcionando. O download dos arquivos do PHP 8 e a extração deles ocorrerá da mesma maneira que ensinamos no artigo acima. Contudo, a sua configuração será um pouco diferente.
Configurando a versão Beta 1
Primeiramente iremos criar uma pasta personalizada que irá armazenar as configurações do PHP Beta 1. Usaremos o seguinte comando:
sudo mkdir /usr/php8-beta1
Nós criamos essa pasta no diretório usr, mas poderíamos usar outro diretório se desejássemos.
Vamos agora realizar a sua configuração. Iremos adicionar a opção --prefix no comando de configuração, informando um outro diretório para ela, ou seja, o mesmo diretório que criamos agora há pouco. Usaremos o comando a seguir:
sudo ./configure --prefix=/usr/php8-beta1
Após realizar a configuração, iremos executar a instalação de fato por meio do comando sudo make && sudo make install.
Com a instalação concluída, podemos executar os comandos do PHP acessando diretamente o binário deste serviço. Por exemplo:
/usr/php8-beta1/bin/php --version
Esse comando nos retornaria o seguinte resultado:
Note que a versão foi retornada, o que mostra que o PHP foi instalado com sucesso.
Entretanto, quando trabalhamos com a linha de comando, estamos acostumados a informar apenas o nome do programa, como php --version por exemplo. Não desejamos informar o caminho absoluto até o binário todas as vezes. Como poderíamos resolver essa questão?
Uma solução é adicionar o binário do PHP de maneira personalizada ao diretório padrão que o Ubuntu usa para executar os binários do Sistema Operacional. No Ubuntu 20.04 esse diretório está em /usr/local/bin. Logo, precisamos criar uma referência neste diretório, que irá apontar para o binário original. Um comando que podemos usar é o ln, que cria links no Linux. Podemos dizer que esses links funcionam como se fossem os “atalhos para programas do Windows”, mas aplicados no ambiente Linux. Para criar o link usaremos esse comando:
sudo ln -sT /usr/php8-beta1/bin/php /usr/local/bin/php8-beta1
Agora nós temos um novo binário, chamado php8-beta1. Como ele é personalizado, poderíamos informar qualquer outro nome que desejássemos. Dessa forma, ao executar php8-beta1 --version, veremos o mesmo resultado do comando que realizamos há pouco, informando o caminho absoluto para o binário do PHP.
Se formos até o diretório /var/www/html, executarmos sudo php8-beta1 -S localhost:80 e acessarmos http://localhost/info.php no navegador, veremos o seguinte resultado:
Incrível! O PHP está sendo executado corretamente em nosso navegador. ?
Realizando a mesma configuração com a versão Alpha 3
Se desejássemos fazer o mesmo com a versão Alpha 3, bastaria repetir o processo:
sudo mkdir /usr/php8-alpha3
sudo ./configure --prefix=/usr/php8-alpha3
sudo make && sudo make install
sudo ln -sT /usr/php8-alpha3/bin/php /usr/local/bin/php8-alpha3
Ao executar php8-alpha3 --version, veríamos o seguinte resultado:
Impressionante, não é mesmo?
Conclusão
Neste artigo realizamos a configuração de duas versões do PHP no mesmo servidor Ubuntu. O melhor é que fizemos isso sem usar o apt-get ou outra ferramenta, como comentamos no início. Agora estamos preparados para realizar a configuração de quantas versões desejarmos!!! ?
Se você gostou deste post sobre PHP 8, não deixe de conferir os conteúdos diários que publicamos em nosso canal no YouTube.
Até o próximo artigo :)