Isso é para Mac OS X com a instalação nativa do Apache HTTP e instalação personalizada do MySQL .
A resposta é baseada na excelente resposta de @alec-gorge, mas como tive que pesquisar no Google algumas alterações específicas para configurá-lo em minha configuração, principalmente no Mac OS X, pensei em adicioná-lo aqui para fins de integridade.
Habilitar suporte PHP5 para Apache HTTP
Certifique-se de que o suporte a PHP5 esteja habilitado em /etc/apache2/httpd.conf
.
Edite o arquivo com sudo vi /etc/apache2/httpd.conf
(digite a senha quando solicitado) e descomente (remova ;
do início) a linha para carregar o módulo php5_module .
LoadModule php5_module libexec/apache2/libphp5.so
Inicie o Apache HTTP com sudo apachectl start
(ou restart
se já foi iniciado e precisa ser reiniciado para reler o arquivo de configuração).
Certifique-se de que /var/log/apache2/error_log
contém uma linha informando que o php5_module está ativado - você deve ver PHP/5.3.15
(ou semelhante).
[notice] Apache/2.2.22 (Unix) DAV/2 PHP/5.3.15 with Suhosin-Patch configured -- resuming normal operations
Procurando o nome do arquivo Socket
Quando o MySQL está instalado e funcionando (com ./bin/mysqld_safe
), deve haver linhas de depuração impressas no console que informam onde você pode encontrar os arquivos de log. Observe o nome do host no nome do arquivo - localhost
no meu caso - que pode ser diferente para a sua configuração.
O arquivo que vem depois Logging to
é importante. É onde o MySQL registra seu trabalho.
130309 12:17:59 mysqld_safe Logging to '/Users/jacek/apps/mysql/data/localhost.err'.
130309 12:17:59 mysqld_safe Starting mysqld daemon with databases from /Users/jacek/apps/mysql/data
Abra o localhost.err
arquivo (novamente, o seu pode ter um nome diferente), ou sejatail -1 /Users/jacek/apps/mysql/data/localhost.err
para descobrir o nome do arquivo de socket - deve ser a última linha.
$ tail -1 /Users/jacek/apps/mysql/data/localhost.err
Version: '5.5.27' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Server (GPL)
Note o socket:
parte - esse é o arquivo de soquete que você deve usar php.ini
.
Há outra maneira (alguns dizem que é uma maneira mais fácil) de determinar a localização do nome do arquivo do soquete fazendo login no MySQL e executando:
show variables like '%socket%';
Configurando PHP5 com suporte a MySQL - /etc/php.ini
Falando em php.ini ...
No /etc
diretório está o arquivo /etc/php.ini.default . Copie-o para /etc/php.ini .
sudo cp /etc/php.ini.default /etc/php.ini
Abra /etc/php.ini
e procure mysql.default_socket .
sudo vi /etc/php.ini
O padrão mysql.default_socket
é /var/mysql/mysql.sock
. Você deve alterá-lo para o valor que anotou anteriormente - foi /tmp/mysql.sock
no meu caso.
Substitua o /etc/php.ini
arquivo para refletir o nome do arquivo de soquete:
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock
Verificação final
Reinicie o Apache HTTP.
sudo apachectl restart
Verifique os logs se não houver nenhum erro relacionado ao PHP5. Sem erros significa que você terminou e PHP5 com MySQL deve funcionar bem. Parabéns!
/etc/init.d/mysql start
se você estiver em uma distribuição de base debian. se falhou, verifique o/etc/my.cnf
arquivo para o caminho correto do arquivo de socket mysql.