Additionally, it seems that the default installation of php on Mac OS X (10.5 tested) does not point to the default location of the mysql.sock file that is installed in a standard MySQL 5.0 installation.
This prevents php working with locally hosted MySQL databases.
Adding the following line to the /private/etc/apache2/other/php5.conf file did the trick:
php_value mysql.default_socket /tmp/mysql.sock
(make sure you put it in between the </IfModule> statements)
Usando o pacote do PHP para Mac
PHP vem junto com Mac OS X desde a versão 10.0.0. Habilitar o PHP no servidor web padrão requer apenas descomentar algumas linhas no arquivo de configuração do Apache (httpd.conf) enquanto que a versão CGI e/ou CLI estão disponíveis automaticamente (facilmente acessíveis pelo programa Terminal).
Habilitar o PHP usando as instruções abaixo tem como objetivo configurar rapidamente um ambiente de desenvolvimento local. É altamente recomendado sempre atualizar o PHP para a versão mais nova. Como qualquer software ativo, novas versões são criadas para consertar bugs e adicionar funcionalidades e o PHP não é diferente. As seguintes instruções são direcionadas para iniciantes, os detalhes fornecidos permitem que uma configuração padrão funcionar. Todos os usuários são encorajados à compilar ou instalar uma versão nova do pacote.
O tipo de instalação padrão é usando mod_php, e habilitar o pacote mod_php no Mac OS X para o servidor Apache (o servidor web padrão, que é acessível via Preferências de Sistema) envolte os seguintes passos:
-
Localize e abra o arquivo de configuração do Apache. Normalmente, ele está
em: /etc/httpd/httpd.conf
Usar Finder ou Spotlight para encontrar
esse arquivo pode ser complicado, já que ele normalmente é privado e o dono
é o administrador (root).
Nota: Uma maneira de modificar o arquivo é usando um editor de texto baseado em Unix no Terminal, por exemplo nano, e, como o dono do arquivo é o root, nós usaremos o comando sudo para abrí-lo. Digite o seguinte comando na aplicação de Terminal (você precisará digitar a sua senha): sudo nano /etc/httpd/httpd.conf Comandos importantes do nano: ^w (busca), ^o (salvar), e ^x (sair) onde ^ representa a tecla Ctrl.
-
Com um editor de texto, descomente as linhas (removendo os #) que parecem com as linhas abaixo (essas duas linhas normalmente não estão juntas, localize ambas no arquivo):
Perceba a localização/caminho. Quando compilar o PHP no futuro, os arquivos acima devem ser substituidos ou comentados.# LoadModule php4_module libexec/httpd/libphp4.so # AddModule mod_php4.c
-
Certifique-se que as extensões desejadas serão avalidadas como códigos PHP (exemplos: .php .html e .inc)
Como a seguinte instrução já existe no httpd.conf (a partir do Mac Panther), uma vez que o PHP for habilitado, os arquivos .php serão automaticamente avaliados como códigos PHP.
<IfModule mod_php4.c> # If php is turned on, we respect .php and .phps files. AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps # Since most users will want index.php to work we # also automatically enable index.php <IfModule mod_dir.c> DirectoryIndex index.html index.php </IfModule> </IfModule> - Assegure-se de que a diretiva DirectoryIndex carrega o arquivo index desejado Isso também é configurável no arquivo httpd.conf. Tipicamente index.php e index.html são usados. Por padrão, index.php é habilitado porque também está na checagem mostrada abaixo. Modifique como desejar.
- Configure a localização do arquivo php.ini ou use a padrão Uma localização típica no Mac OS X é /usr/local/php/php.ini e uma chamada à phpinfo() revelerá essa informação. Se não for usado um arquivo php.ini, o PHP usará todos os valores padrão. Veja também o FAQ relacionado em encontrando php.ini.
- Localize ou configure DocumentRoot Esse é o diretório raiz para todos os arquivos do servidor. Arquivo nesse diretório serão servidos, então os arquivos PHP serão avaliados como PHP antes de terem seu resultado enviado para o servidor. Um caminho padrão para isso é /Library/WebServer/Documents mas isso pode ser modificado para qualquer um no arquivo httpd.conf. Além disso, o DocumentRoot para usuários individuais é /Users/yourusername/Sites
-
Crie um arquivo phpinfo()
A função phpinfo() mostrará informação sobre o PHP. Considere criar um arquivo no DocumentRoot com o seguinte código PHP:
<?php phpinfo(); ?> - Reinicie o Apache e carregue o arquivo PHP criado acima Para reiniciar, ou execute sudo apachectl graceful no shell ou stop/start na opção "Personal Web Server" em OS X System Preferences. Geralmente, carregar arquivos locais no browser pode ser feito usando uma URL assim: http://localhost/info.php ou se estiver usando o diretório DocumentRoot dentro de um diretório de usuário, seria assim: http://localhost/~yourusername/info.php
A versão CLI (ou CGI em versões mais antigas) tem nome php e provavelmente está em /usr/bin/php. Abra um terminal, leia a seção sobre linha de comando do manual desse binário. Uma chamada para phpinfo() também mostrará do PHP, e execute php -v para verificar a versão do PHP essa informação.
I am using MacOSX 10.5.4 and only enabling the mod_php5 wasn't enough to get the PHP support. I had to add following block before I could use php on machine -
<IfModule mod_php5.c>
# If php is turned on, we respect .php and .phps files.
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
# Since most users will want index.php to work we
# also automatically enable index.php
<IfModule mod_dir.c>
DirectoryIndex index.html index.php
</IfModule>
</IfModule>
You only have to uncomment:
#LoadModule php5_module libexec/apache2/libphp5.so
This is gone:
# AddModule mod_php5.c
The statement in 3 was changed to:
<IfModule mime_module>
#
# TypesConfig points to the file containing the list of mappings from
# filename extension to MIME-type.
#
TypesConfig /private/etc/apache2/mime.types
#
# AddType allows you to add to or override the MIME configuration
# file specified in TypesConfig for specific file types.
#
#AddType application/x-gzip .tgz
#
# AddEncoding allows you to have certain browsers uncompress
# information on the fly. Note: Not all browsers support this.
#
#AddEncoding x-compress .Z
#AddEncoding x-gzip .gz .tgz
#
# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
#
# AddHandler allows you to map certain file extensions to "handlers":
# actions unrelated to filetype. These can be either built into the server
# or added with the Action directive (see below)
#
# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add "ExecCGI" to the "Options" directive.)
#
#AddHandler cgi-script .cgi
# For type maps (negotiated resources):
#AddHandler type-map var
#
# Filters allow you to process content before it is sent to the client.
#
# To parse .shtml files for server-side includes (SSI):
# (You will also need to add "Includes" to the "Options" directive.)
#
#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml
</IfModule>
Extra MIME types can either be added to the file /private/etc/apache2/mime.types or by using an AddType directive as commented on above.
