Questão Instale vários ambientes PHP no OS X Snow Leopard


Acabei de atualizar meu MBP para o Snow Leopard (OS X 10.6), o que levou o PHP a 5.3

Isso é ótimo, exceto que eu uso meu MBP como minha máquina de desenvolvimento e eu uso um monte de bibliotecas e estruturas PHP (especificamente CakePHP 1.2) que não são compatíveis no momento com o PHP 5.3. O CakePHP em particular não tem uma versão estável para o PHP 5.3, portanto não é uma questão de atualizar o framework (e os servidores de produção estão sob o PHP 5.2, de qualquer maneira).

Existe uma maneira de instalar o PHP 5.2.9 junto com o PHP 5.3 e, em seguida, usando httpd.conf ou .htaccess informar ao Apache qual versão do PHP deve ser usada para um diretório específico?

Alternativamente, há uma maneira de fazer isso com MacPorts?

Obrigado!


4


origem




Respostas:


Mark Story escreveu um ótimo artigo sobre como conseguir isso. Ele é um desenvolvedor principal do CakePHP e usa essa configuração para o desenvolvimento do trabalho e do cakephp.

http://mark-story.com/posts/view/maintaining-two-versions-of-php-with-macports


9



Sim ele fez! Eu tive uma pequena reviravolta com Mark sobre isso e adaptei seu shell script para fazer a troca entre apenas o PHP 5.3 e o PHP 5.2.10. Usar a habilidade embutida do MacPorts para ativar / desativar os ambientes torna isso muito fácil, e é feito de uma maneira 'mac'. - Darren Newton
Originalmente, eu tentaria fazer isso usando o FastCGI seguindo este artigo (bastante bom): cuadradevelopment.com/blog/26/…  Infelizmente eu não consegui usar o PHP 5.3 para compilar e rodar o FastCGI sob o suexec (o que não estou familiarizado) me deixou um pouco nervoso, então a solução de Mark Story ficou mais confortável. - Darren Newton


Eu sugiro baixar a distribuição do PHP que você gostaria como fonte e, em seguida, defina ./configure opções de parâmetro (consulte ./configure --help) para que o software seja instalado em um local exclusivo ou com o número da versão anexado ao nome. Desta forma, quando você corre make install a instalação do PHP 5.3 não é sobrescrita. Finalmente, configure um mapeamento de sufixo separado no Apache, que direcione para a versão que você gostaria, ou substitua o mapeamento PHP padrão para o VirtualHost ou Directory stanza onde seus scripts estão localizados.


1



Como o Xdebug e o APC tocariam com essa configuração? - Darren Newton


Eu estou mantendo alguns scripts de construção como parte do projeto Homebrew que permitirá que você faça exatamente isso (pelo menos a parte da instalação) com muita facilidade. Eu escrevi sobre isso - http://boztek.net/blog/2009/10/07/install-lamp-stack-source-mac-os-x-106-snow-leopard-using-homebrew


1



Vocês, usando o DarwinPorts e / ou o Fink, deveriam dar uma olhada no Homebrew. - Eno


Uma opção seria instalar uma versão diferente de algo como MAMP e depois mexer com cada instalar individualmente.


0





Aqui está outra sugestão: http://cuadradevelopment.com/blog/26/multiple-php-versions-with-apache-using-fastcgi-on-os-x


0



Eu já tinha nome marcado este artigo nos meus comentários para predominante. Obrigado embora. - Darren Newton


Este é o meu próprio escrever a partir de muitos meses atrás:

http://ireallylikesushi.com/blog/2009/12/21/installing-both-zend-server-ce-php-5-2-php-5-3-on-snow-leopard/

Solução muito fácil e limpa. Espero que ajude.


0



Seu link não funciona. Então, praticamente uma resposta inútil! - Lee Taylor