Instalando e utilizando múltiplas versões do PHP com PHPBrew no Kubuntu 14.04

Atualizado em 04/08/2015

De vez em quando pode ser necessário realizar a manutenção de um site ou sistema antigo escrito em PHP. Nesses casos, quando você faz download e testa em seu ambiente local acaba se deparando com muitos erros do PHP. Muitos desses erros são devido as diferenças de versões do PHP do ambiente de produção e do ambiente local. Nesses casos, a medida mais recomendada é instalar e rodar o sistema ou site com a mesma versão do PHP do ambiente de produção.

Nesse tutorial ensino a utilização do PHPBrew que permite instalar e utilizar múltiplas versões do PHP. Ele foca na utilização do PHPBrew no Kubuntu 14.04. Como pré-requesito estou considerando que você já tenha seu ambiente local com WAMP instalado e configurado.

Instalando o PHP Brew

Baixe e instale o PHPBrew:

Configure o PHPBrew:

Para conhecer as versões do PHP disponíveis para instalar, execute:

Essa lista pode agregar novas versões do PHP. Para obtê-los use:

Você pode compilar o PHP utilizando diversas combinações de variantes. Para listá-las use:

Observe que você pode usar variantes virtuais como default ou dbs que irão compilar o PHP com um grupo de variantes.

Considerando que queira instalar o PHP 5.3.29 com as extensões padrões, com acesso a bancos de dados (como a extensão mysql), incluindo a extensão soap e iconv e o módulo PHP para o Apache, execute da seguinte maneira:

Observe que esse processo é demorado. O PHPBrew baixa a versão específica do PHP e inicia a compilação dele no seu computador. Fique atento as mensagens de erro que podem acontecer nesse processo. Normalmente por causa de bibliotecas faltantes ou bloqueio de firewall.

Se a instalação terminar com sucesso, você deve visualizar algo como:

Problemas Comuns na Instalação de uma Versão do PHP

Erro: apsx binary is not executable

Apxs é um binário responsável pela compilação dos módulos do Apache. Instale-o com:

Erro: Configured failed. 1

Esse é um erro de configuração. Normalmente acontece por falta de bibliotecas. Utilize o seguinte comando, trocando a versão do PHP abaixo pela versão escolhida e procure erros nas últimas linhas:

Identificando os erros, instale as bibliotecas solicitadas. No meu caso foi necessário apenas a instalação de uma biblioteca (porque eu já tenho a maior parte delas instaladas):

Erro: Failed to connect to www.php.net port 80: Network is unreachable

Pode aparecer o seguinte erro:

Nesse caso, baixe manualmente o código fonte do PHP na URL que aparece acima da mensagem.

O arquivo deve ser baixado com o nome “mirror”. Altere o nome do arquivo corretamente conforme a URL.

Agora, mova o arquivo para a pasta do PHPBrew:

Rode novamente o comando de instalação:

Utilizando o PHPBrew

Para utilizar a versão do PHP instalada use:

Você pode se certificar que a versão está rodando utilizando o comando:

Se precisar listar outras versões do PHP que foram instaladas use:

Para voltar para a versão oficial do PHP na distribuição use:

Configurando o PHP no Apache

Quando você solicita a instalação do PHP com o módulo Apache observe que ele altera automaticamente os arquivos de configuração do Apache para o uso da versão que você escolheu. Para usá-lo, depois de instalado, reinicie o Apache com:

Mas se você escolher outra versão do PHP usando “phpbrew switch php-5.X.X” ou “phpbrew off” ele não faz essa configuração novamente para você. Você terá que alterar manualmente o arquivo de configuração do Apache. Basta editar o conteúdo do arquivo /etc/apache2/mods-enabled/php5.load:

Onde aparece:

Altere conforme a versão do PHP desejado. Para uma versão instalada pelo PHPBrew:

Para a versão oficial da distribuição:

Salve o arquivo e reinicie novamente o Apache:

Finalmente, utilize um arquivo com a função phpinfo() e teste no navegador para para se certificar da versão do PHP.

Instalando Novas Extensões

Você ainda poderá instalar outras extensões no PHP. Primeiro selecione a versão do PHP desejada:

Teremos que alterar a permissão da pasta .phpbrew para evitar erros de permissão. Utilize seu usuário no lugar de silvio:

Agora execute a instalação da extensão desejada:

Pode ocorrer erro na instalação.

No exemplo acima, basta analisar o arquivo de log que é apresentado. No meu caso:

Vimos que falta a instalação da biblioteca do curl. Pesquisando na Internet descobri que o nome certo do pacote para o Kubuntu 14.04 é libcurl4-gnutls-dev. Basta instalar:

Agora tentamos novamente a instalação.

A mensagem [*] curl extension is enabled confirma que a extensão foi instalada com sucesso. Para utilizá-la imediatamente no Apache, reinicie o mesmo:

Fontes:
http://www.sitepoint.com/use-phpbrew-virtphp/
http://enzolutions.com/articles/2014/10/17/manage-php-versions-with-phpbrew/

silvio

Sobre Silvio Tenfen Junior

Desenvolvedor Web com 5 anos de experiência. Especializado em desenvolvimento de Sites e E-commerces com plataforma Magento. Trabalho também com desenvolvimento de Sistemas, integrações com ERPs, soluções de pagamento (Cielo, Rede, PagSeguro) e gerenciamento de sistemas em ambiente Cloud (Linux, Amazon Web Services).

1 comentário em “Instalando e utilizando múltiplas versões do PHP com PHPBrew no Kubuntu 14.04

  1. Luiz Henrique

    A sessão Configurando o PHP no Apache resolveu meu problema, muito obrigado!

Deixe uma resposta

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

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">