Ter disponível múltiplas versões do PHP em um servidor LAMP no Ubuntu (ou qualquer outra distribuição Linux) é algo quase obrigatório para um desenvolvedor que se preze. Neste tutorial você vai aprender a instalar e compilar várias versões do PHP num único diretório, sem ter que precisar alterar diversos arquivos e ficar reiniciando o apache toda vez.

Lidamos diariamente com servidores de hospedagem (compartilhados ou dedicados) que podem utilizar uma ou outra versão do PHP diferente da que estamos utilizando no nosso ambiente local de desenvolvimento. Alguns utilizam a versão 5.3, outros 5.4, ainda outros 5.5 ou versões mais recentes. E sabemos que problemas de compatibilidade podem acontecer nesses casos.

Passo a Passo

Os comandos abaixo devem ser executados num terminal (Ctrl + Alt + T), com excessão do ‘$’ inicial.

1. Instalando LAMP Server

Se ainda não tem o LAMP instalado, comece por aqui.

$ sudo apt-get update && sudo apt-get upgrade $$ sudo apt-get install lamp-server^

 

2. Instalando dependências gerais

Algumas dependências que precisam ser instaladas para rodar esta configuração que faremos.

$ sudo apt-get install build-essential git apache2-mpm-worker libapache2-mod-fastcgi php5-fpm

 

3. Instalando dependências do PHP

Dependências necessárias para compilar o PHP 5.

$ sudo apt-get build-dep php5

 

4. Download do PHPFarm

Se você ainda não tem o git instalado no seu ambiente, faça-o:

$ sudo apt-get install git

 

Se já possui o git, instale o componente PHPFarm, que é o responsável por orquestrar todas as versões do PHP ao mesmo tempo.

$ sudo git clone https://github.com/cweiske/phpfarm.git /opt/phpfarm

 

OBS: Note que instalamos o PHPFarm na pasta /opt. Isso não é opcional, é OBRIGATÓRIO.

5. Acessando o diretório do PHPFarm

$ cd /opt/phpfarm/src

 

6. Compilando o PHP

Use o PHPFarm para compilar qualquer versão do PHP que você quiser. Você pode verificar a lista de versões nesse link: http://museum.php.net

$ sudo ./compile.sh 5.4.0

$ sudo ./compile.sh 5.5.0

$ sudo ./compile.sh 5.5.6

 

7. Habilitando Fast-Cgi no Apache

$ sudo a2enmod actions fastcgi alias

 

8. Reiniciando o Apache

Reinicie o Apache para se certificar de que todos os módulos foram carregados.

$ sudo service apache2 restart

 

9. Configurando FastCgiServer

Crie o arquivo de configuração do FastCgiServer

$ sudo nano /etc/apache2/conf.d/php-cgisetup.conf

 

10. Editando configuração do FastCgiServer

Você vai precisar de uma linha para cada versão do PHP que você instalou com o PHPFarm. Utilize (Ctrl+O) para salvar e (Ctrl+X) para sair.

 

11. Criando o cgi-bin

$ sudo mkdir /var/www/cgi-bin

 

12. Criando o arquivo binário php-cgi-5.4.0

$ sudo nano /var/www/cgi-bin/php-cgi-5.4.0

 

13. Editando o arquivo php-cgi-5.4.0

 

14. Criando o arquivo binário php-cgi-5.5.0

$ sudo nano /var/www/cgi-bin/php-cgi-5.5.0

 

15. Editando o arquivo php-cgi-5.5.0

 

16. Criando o arquivo binário php-cgi-5.5.6

$ sudo nano /var/www/cgi-bin/php-cgi-5.5.6

 

17. Editando o arquivo php-cgi-5.5.6

 

18. Ajustando o Owner do cgi-bin

$ sudo chown -R www-data:www-data /var/www/cgi-bin

 

19. Ajustando permissões do cgi-bin

$ sudo chmod -R 0744 /var/www/cgi-bin

 

20. Acessando diretório do Apache

Para configurarmos um novo servidor, acesse o diretório do Apache para criarmos um virtual host.

$ cd /etc/apache2/sites-available

 

21. Criando Virtual Host

Agora crie um arquivo chamado php-dev com o nano.

$ sudo nano php-dev

 

22. Editando o virtual host php-dev

Copie e cole este código dentro do arquivo do virtual host recém criado. Você pode mudar os nomes dos servidores, mas se lembre dos nomes deles pois você irá precisar mais a frente. Perceba que os três virtual hosts possuem o mesmo Documento Root (raiz da aplicação), porém diferentes versões do PHP.
Use (CTRL+O) para salvar e (CTRL+X) para fechar.

 

23. Desativando o virtual host default

Para se livrar do virtual host padrão, use o comando abaixo:

$ sudo a2dissite default

 

24. Ativando o novo virtual host

Para ativar o novo virtual host, use o comando abaixo:

$ sudo a2ensite php-dev

 

25. Acessando seu diretório

cd /var/www

 

26. Recarregando o Apache

$ sudo service apache2 reload

 

27. Removendo o antigo arquivo index.html

$ rm index.html

 

28. Criando página de teste

$ sudo nano index.php

 

29. Editando página de teste

Copie e cole o código abaixo dentro do seu arquivo de teste

 

30. Obtendo endereço IP do servidor

Você precisa descobrir o endereço IP do seu servidor. Geralmente eth0 vai te dar esta informação, então anote o inet addr:IP após entrar com o comando abaixo:

$ ifconfig

 

31. Abrindo arquivo /etc/hosts

Edite o arquivo hosts do seu servidor ou de outros computadores que poderão acessar seus sites através da sua rede, utilizando o endereço IP obtido no passo #29.

$ sudo nano /etc/hosts

 

32. Editando arquivo /etc/hosts

Seu arquivo hosts deve ficar bem parecido com este abaixo, obviamente o endereço IP pode ser diferente do seu.

 

33. Testando o servidor, finalmente…

Abra o seu navegador e digite o endereço abaixo um de cada vez e deverá aparecer a sua tela de teste.

http://testphp540.com

php 5.4.0

http://testphp550.com

php 5.5.0

http://testphp556.com

php 5.5.6

Parabéns, você acabou de instalar múltiplas versões do PHP no seu servidor LAMP!

Fabio Ferreira on EmailFabio Ferreira on InstagramFabio Ferreira on Twitter
Fabio Ferreira

Desenvolvedor Javascript e PHP, é editor do blog Café na Veia e também atua como desenvolvedor web freelancer na cidade de São Paulo.


Author: Fabio Ferreira

Desenvolvedor Javascript e PHP, é editor do blog Café na Veia e também atua como desenvolvedor web freelancer na cidade de São Paulo.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Instagram did not return any images.

Siga também nosso Instagram!