PHP equivalente a rbenv / rvm

1

Eu sempre usei os repositórios oficiais do Ubuntu para instalar o PHP, mas depois de jogar com ferramentas como o rbenv e o rubybuild para instalações Ruby, eu estou querendo saber se existem melhores ferramentas / técnicas para instalar o PHP. Particularmente, eu gostaria de ter um controle refinado sobre exatamente qual versão do PHP eu quero instalar ao invés de apenas pegar qualquer versão que a Canonical tenha para mim.

Também seria legal poder ter várias versões instaladas simultaneamente e alternar facilmente entre elas.

    
por Niels B. 13.10.2014 / 22:05

1 resposta

0

Talvez você queira isso, mas como alguém que programa habilmente em PHP & De forma adequada em Ruby, posso dizer que o principal motivo pelo qual o Ruby tem sistemas de controle de versão é apenas a quantidade total de coisas que podem dar errado, falhar ou quebrar ao mudar de versão. PHP é muito mais indulgente & compreensão de métodos obsoletos & funções.

Por exemplo, se você der um salto do PHP 5.1.6 para o PHP 5.4, há relativamente pouco que irá quebrar ao pular versões que não podem ser corrigidas rapidamente. Isso significa que, se algo não estiver claro nos erros do PHP, deduzirá o que deu errado. E o PHP é muito mais compatível do que o Ruby.

Dito isso, você sempre pode instalar várias versões dos módulos PHP manualmente & em seguida, basta ajustar sua configuração do Apache, reiniciar o Apache & ai está. Por exemplo, eu tinha um cliente que tinha um código legado que funcionaria apenas com o PHP 5.1.6. Então, eu compilei a partir do código-fonte no Ubuntu 11.04 (e, em seguida, 11.10, bem como 12.04), mas certifiquei-me de nomear o módulo assim:

/usr/lib/apache2/modules/libphp516.so

Normalmente, o módulo PHP instalado é chamado assim:

/usr/lib/apache2/modules/libphp5.so

Então, nomear libphp516.so para que ele inclua o número da versão também me permite ter várias versões do PHP.

Feito isso, tudo o que preciso fazer para mudar as versões é editar o php5.load localizado aqui:

sudo nano /etc/apache2/mods-available/php5.load

Por isso, continha linhas como esta:

# LoadModule php5_module        /usr/lib/apache2/modules/libphp.so
LoadModule php5_module        /usr/lib/apache2/modules/libphp516.so

A primeira linha comentada refere-se à versão já instalada do PHP que é instalada via apt-get / aptitude . A linha abaixo informa ao Apache para carregar o módulo libphp516.so . Reinicie o Apache & agora o PHP 5.1.6 está funcionando.

Mas eu conheço o sistema que gerencia isso de uma maneira mais integrada e de alto nível. Como eu disse no início, eu não conheço muitas pessoas - além de pessoas como eu que são forçadas a fazê-lo - que precisariam de uma ferramenta desse tipo porque o PHP é muito mais escalável & respeitável quando se trata de código legado do que Ruby é. Duas filosofias de codificação diferentes em jogo.

    
por 13.10.2014 / 22:16