Finalmente realizei um sonho: passei de Windows para MAC!
Porém, como tudo que é novo, as dificuldades surgiram, em especial uma que causa muita dor de cabeça em usuários do Windows, quem diria Mac (pelo menos como no meu caso, os “Mac switchers”): fazer funcionar um ambiente de desenvolvimento PHP.
O Leopard vem com Apache e PHP 5 funcionais, inclusive com todas as extensões tradicionais (GD, Curl, MySQL, etc), o problema surgiu quando vi que não existia a extensão do PostgreSQL em nenhum lugar.
O fato é que essa instalação padrão do PHP tem que ser recompilada. Para quem a vida toda usou Windows, isso é algo totalmente novo*. Tentei, tentei, tentei e nada, não consegui fazer funcionar um novo PHP, mesmo seguindo mais de 5 artigos diferentes.
Até que me deparei com um artigo que explica sobre a instalação da stack de desenvolvimento com MacPorts. BINGO!
Guia de Instalação
O passo-a-passo da instalação.
- Download MacPorts: http://www.macports.org/install.php
- Após instalar, atualize o MacPorts:
sudo port -v selfupdate - Instale a stack de desenvolvimento (demora uns 10 minutos):
sudo port install php5 +apache2 +php5-mysql +php5-postgresql +php5-gd +php5-curl +php5-mcrypt +php5-gettext - Edite o httpd.conf que estará localizado em
/opt/local/apache2/conf/httpd.confAdicionar as linhas nas seções correspondentes:
LoadModule php5_module modules/libphp5.soDirectoryIndex index.html index.phpAddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Obs: Adicione, ironicamente, os Mime Type do PHP fora da condicional <IfModule mime_module>. - Crie o php.ini
cp /opt/local/etc/php5/php.ini-development /opt/local/etc/php5/php.ini - Edite o php.ini, agora localizado em /opt/local/etc/php5
- Aponte o diretório de extensões:
extension_dir = "/opt/local/lib/php/extensions/no-debug-non-zts-20090626/" - Adicione a lista de extensões:
extension=gd.so
extension=mysql.so
extension=mysqli.so
extension=pdo_mysql.so
extension=pdo_pgsql.so
extension=pgsql.so
extension=curl.so
extension=mcrypt.so
extension=gettext.so
- Configure a Timezone:
date.timezone = 'America/Sao_Paulo' - Adicione o Apache ao startup:
sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist - Baixe e instale o package do PostgreSQL: http://www.postgresql.org/download/macosx
- Baixe e instale o package do MySQL: http://dev.mysql.com/downloads/mysql/. O usuário padrão da instalação será root e nenhuma senha.
- Reinicie o Apache:
cd /opt/local/apache2/bin/
sudo ./apachectl restart
Fontes:
- http://2tbsp.com/content/install_apache_2_and_php_5_macports
- http://drupal.org/node/68133
- http://www.macports.org/install.php
- http://www.tech-recipes.com/rx/2621/os_x_change_path_environment_variable/









23/04/2010 às 09:54:08
Amigo,
Muito obrigado tutorial, foi de grande valia. No meu caso, ele funcionou 90%, pois tive alguns problemas após finalizar:
1-Acesso negado ao documentRoot:
Nas diretivas de configuração de diretório do httpd.conf, estava como Deny. Então foi necessário alterar para Allow.
2-Ao usar o Kohana, tive problema com a extension Iconv.
Tive que reinstalar a extension com sudo port install php5-iconv
3-Após instalar o Iconv, tive problema com as extension do mysql e postgres.
Tive que instalar novamente as 2. Após a instalação do mysql, o log me informou p/ remover a linha que apontava as extensões “extension_dir = /opt/local/lib/php/extensions/no-debug-non-zts-20090626/”.
Feito isso, funcionou 100%.
Muito obrigado!
27/04/2010 às 02:54:59
ainda nao funcionou totalmente. Estou utlizando o apache do SO. O postgres nao ativa.
28/04/2010 às 17:46:09
Rammses, a idéia é justamente instalar o apache novamente pelo macports, para que possamos instalar as libraries por ele. Também não tinha conseguido PGSQL no Apache que vem com o Snow Leopard. Reinstalei o Apache usando o procedimento do tutorial, e tudo funcionou.
11/05/2010 às 17:51:26
Olá… não veio o diretório “extensions” … estranho… tem alguma dica?
17/05/2010 às 11:18:04
É só usar o XAMPP ou o MAMP no melhor estilo de “arrastar e soltar” do MAC, uso o XAMPP a muito tempo e nunca tive problemas.
19/05/2010 às 03:39:35
por acaso em alguma de suas tentativas ele nao instalou o postgres nem o mysql? rolou direitnho, mas o php nao esta com suporte aos bancos. nem mesmo o pdo indica possuir driver dos bancos…
19/05/2010 às 10:34:54
Foi tudo de primeira por aqui. No caso, veja no artigo que eu indico para alterar o path das extensões.