Como atualizar a versão do PHP no Mac OSX Mountain Lion
Olá, pessoal Venho usando o Vagrant (oficial, tradução e meu github) faz um tempo, para diminuir o número de coisas instaladas no meu notebook, mas precisava atualizar a versão do PHP que tinha instalado por padrão no meu Mac OSX.
Participando do projeto do iMasters, oPHPortunidades (veja os hangouts), precisei rodar alguns comandos básicos no console, usando o excelente Composer, mas por não ter a última versão do PHP ficava difícil acompanhar o pessoal. Principalmente pela funcionalidade do servidor web embutido no PHP 5.4, que economiza bastante tempo para não precisar de configurar um Apache apenas para teste de uma aplicação.
É fato que usando o Vagrant poderíamos deixar preparado algumas receitas básicas, Puppet ou Chef, para deixar subir uma máquina com a última versão do PHP, mas a possibilidade de abrir um terminal em um diretório com um projeto mínimo rodando apenas um php -S localhost:8080
em vez de um vagrant init
, subl Vagrantfile
, vagrant up
, vagrant ssh
etc etc era interessante.
Foi nesse momento que fui procurar uma opção de atualizar a minha versão global do PHP, do 5.3.15 que é a que vem instalada no Mac OS X Mountain Lion, para a versão mais nova estável, 5.4.8 quando esse artigo foi escrito. Quando comecei a usar o Mac, em agosto 2011, procurei uma solução parecida com a que usava no Windows, o XAMPP, e tinha encontrado o MAMP e o próprio XAMPP (que eu tinha usado no meu tempo de Ubuntu também também tem versão Mac). Mas não queria mais utilizar uma opção desse tipo. Queria ter a última versão realmente instalada e acessível a partir da linha de comando.
O primeiro lugar onde fui olhar foi o manual do PHP, que agora está um pouco mais atualizado, mas até quando eu vi (setembro 2012) só tinha uma sugestão: compile o PHP usando as instruções para UNIX. Escolhi não usar essa opção.
Um tempo atrás o Fábio Ribeiro perguntou no Twitter como o pessoal estava montando o ambiente PHP no OSX, e na época ele recebeu a indicação do Homebrew. Essa seria uma opção interessante.
Enquanto estava ajudando na tradução do PHP The Right Way, o PHP Do Jeito Certo, verifiquei que já existia uma pacote binário da versão mais nova do PHP 5.4, a http://php-osx.liip.ch/, que era até a versão recomendada pelos criadores do site. Mais uma boa opção para escolher.
Enfim, fui procurar um maior embasamento para minha escolha final: perguntar no Facebook, no grupo PHP Brasil. Lá vários caras que entendem do assunto deram suas opiniões e o mais legal: me deixaram com mais dúvidas ainda!!! Isso porque surgiram mais umas opções lá ainda não conhecia: o php-build e o phpenv.
O php-build é um cara para compilar o php automaticamente a partir do repositório oficial do PHP, e o phpenv é uma ferramenta para definir qual versão do PHP você irá utilizar no caso de você ter instalado várias opções paralelamente. No fim, foi essas duas opções juntas que escolhi usar e vou mostrar aqui como fiz:
Instalar o
wget
, usando o homebrew (ele é usado pelophp-build
, mas você pode escolher outra forma de instalar owget
)Executar o
brew install pkg-config curl freetype gettext jpeg libpng mcrypt zlib re2c tidy openssl pcre libxslt xmlrpc-c regex-opt exif json-c gd libiconv base64 icu4c lemon gmp t1utils mhash expat,
usando o homebrew (pelo menos na versão do PHP 5.4.8 pelophp-build
ele pediu algumas dependências, depois que instalei esses pacotes o problema parou de acontecer aqui)Instalar o
php-build
(usando a instalação padrão com o git, http://chh.github.com/php-build/)Instalar o
phpenv
(seguir o caminho que foi feito para instalar o php-build, depois na pastabin
, executar ophpenv-install.sh
)Atualizar o seu PATH seguindo as orientações da saída do comando
phpenv
Instalar a versão que você quer do PHP, seguindo a instrução daqui: https://github.com/CHH/phpenv#description
Rodar o
phpenv rehash
, ophpenv global
com a versão escolhida e pronto!
Se você executar um php -v
antes de fazer todos os comandos, você deve ver a sua versão do PHP como 5.3.15. Depois dos comandos acima, se executar um php -v
deve ver a versão do PHP mais nova que você instalou (no meu caso ficou o PHP 5.4.8).
É isso aí pessoal, quem ficar com dúvidas pode perguntar nos comentários.
Até a próxima.
Este artigo foi publicado originalmente em RogerioPradoJ.com.