Lembra quando você aceitou refazer uma área do sistema daquele cliente e quando baixou o projeto viu que o mesmo roda na 5.2 e você só tem a 5.4 instalada? Pois é, esse ódio eu não tenho mais e nem quero que você tenha, pois depois de muito quebrar a cabeça e horas de sono perdidas, vou compartilhar meu momento de extrema felicidade por ter conseguido instalar um ambiente de desenvolvimento com múltiplas versões do PHP rodando!
Obs: Utilizo o ubuntu 12.04, então, os comandos serão voltados para linux. Caso vocês sintam a necessidade de um tutorial para windows ou mac é só pedir nos comentários ;)
Antes de começarmos, atualize sua máquina
Instale algumas dependências
|
|
Esse comando trás um pacote com várias aplicações para compilar/instalar possíveis aplicações utilizadas por você. Exemplos do que é instalado: pacote make, compilador c++, automake, dentre outras libs.
Não sei se será seu caso, mas quando compilei o php tive alguns problemas com algumas dependências. Caso você tenha o mesmo problema ou queira se previnir, instale também as seguintes dependências:
|
|
Instale o git
|
|
Instale o LAMP Server (Apache, MySQL e PHP)
|
|
Ao rodar o comando, você deverá inserir sua senha do MySQL e aguardar a instalação. Finalizada a instalação, abra uma aba no seu navegador e acesse http://localhost/.
Você verá “It Works!”
Obs: Não esqueça do circunflexo(^) no final, pois sem ele o comando não irá funcionar.
Para os curiosos, o acento circunflexo(^) no final do comando é necessário para que o meta-pacote(lamp-server) seja requisitado no tasksel,que é uma ferramenta do debian que permite instalar múltiplos pacotes de softwares.
Agora é onde a brincadeira começa!
O php-farm é um script que permite instalar várias versões do PHP em um mesmo ambiente de desenvolvimento, ou seja, você pode rodar as versões 5.2, 5.3 e 5.4 ao mesmo tempo! Melhor que isso só fazer deploy na sexta às 17h e não ter problemas.
Para instalar, faça o clone do repositório dentro da pasta /opt/phpfarm:
|
|
Após a instalação, vamos começar a compilar nossas versões do PHP. Utilizarei a versão 5.4.32 como exemplo, mas você pode baixar qualquer, eu disse QUALQUER versão do PHP pois o php-farm utiliza o Museum PHP como repositório para download das versões.
Crie um arquivo de configuração personalizado(custom-options-*.sh) para instalar a versão do php desejada
|
|
E insira essas configurações no arquivo:
|
|
Agora faça a compilação do arquivo
Verificando as versões instaladas
Para verificar se a instalação deu certo, rode os seguintes comandos
Onde na saída de cada comando deverá ser informado a versão do php(no nosso caso é a 5.4.32) e o Server API(cli e cgi-fcgi respectivamente).
Obs: Todas as versões baixadas através do phpfarm serão instaladas em phpfarm/inst/php-$version/.
Configurando nosso apache
Habilite o módulo fastcgi
|
|
Agora vamos configurar o apache para rodar no FastCGI.
|
|
Insira esse trecho antes de Include mods-enabled/*.load
Abra o arquivo de configurações do FastCGI
|
|
E comente esta linha
|
|
Servidor finalizado, agora vamos preparar nossa estrutura
Para cada versão instalada você deverá criar um arquivo nessa pasta(php-cgi-$version)
Insira o conteúdo abaixo no arquivo criado
Logicamente que para cada arquivo de versão diferente o path do conteúdo terá que ser modificado de acordo com a versão.
Agora transforme o arquivo em um executável
|
|
Falta apenas configurar nosso maravilhoso VirtualHost
Ao criar um arquivo VirtualHost, você terá que inserir um trecho no qual vai criar toda a mágica das múltiplas versões.
Crie o arquivo do VirtualHost
|
|
Insira esse trecho dentro das tags Directory
Você pode pegar esse VirtualHost configurado como exemplo
|
|
E para finalizar…
Insira o domínio utilizado no VirtualHost no seu arquivo /etc/hosts
|
|
Ative o VirtualHost criado
|
|
Vamos aproveitar e instalar o phpMyAdmin
|
|
Selecione Apache2 e marque **Yes **para permitir que o phpMyAdmin seja configurado automaticamente. Insira a senha do root do MySQL e depois insira a senha de acesso ao painel.
Acesse as configurações do Apache
|
|
Inclua essa linha no final do arquivo
|
|
E por fim, reinicie o Apache
|
|
Acesse http://localhost/phpmyadmin para testar a do phpMyAdmin instalação.
Será que deu certo?
Crie um arquivo php para verificar se deu certo
|
|
Insira a função phpinfo() e copie para a pasta /var/www/html/php54
|
|
Acesse:
http://localhost
Lindo né não?
Agora sente, pare e lembre de todos aqueles momentos difíceis que você passou por não ter um ambiente como esse instalado na sua máquina. Não chore, pois agora você é um desenvolvedor PHP feliz e pronto para qualquer projeto!
Lembrando que para instalar qualquer outra versão, basta executar os mesmos passos.
Um abraço e até o próximo post!
#UPDATE - 13/04/2016
Devido a alguns pedidos do tutorial deste post para Windows, indico o link abaixo do canal da Code Education para solução de múltiplas versões PHP no Windows utilizando o servidor embutido do PHP.
Infelizmente, o PHPFarm não possui suporte para Windows, apenas para sistemas unix, e para resolver isso terei que mexer no compilador do mesmo para que seja possível rodar em ambiente Windows.
Enquanto não faço isso, sugiro que assistam o vídeo postado acima e qualquer dúvida não hesitem em postar nos comentários abaixo.
Vlw negada ;)
Obs: Pretendo publicar um post essa semana ou na próxima sobre servidor embutido do PHP, que também uma forma de rodar várias versões do PHP e é um ótimo webserver para desenvolvimento local.