PHP vem junto com o macOS desde a versão macOS X (10.0.0) até a versão macOS Monterey (12.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 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 macOS para o servidor Apache (o servidor web padrão, que é acessível via Preferências de Sistema) envolve os seguintes passos:
Finder
ou Spotlight
para encontrar esse arquivo pode ser complicado, já que ele normalmente é privado e o dono é o usuário 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 é oroot
, nós usaremos o comandosudo
para abrí-lo (no usuárioroot
) digite o seguinte comando na aplicação deTerminal
(você precisará digitar a sua senha):sudo nano /private/etc/apache2/httpd.conf
Comandos importantes do nano:^w
(busca),^o
(salvar), e^x
(sair) onde^
representa a tecla Ctrl.
Nota: Versões do Mac OS X anteriores a 10.5 foram empacotadas com verões mais antigas do PHP e Apache. Devido a isso, o arquivo de configuração do Apache podem estar em /etc/httpd/httpd.conf.
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):
# LoadModule php5_module libexec/httpd/libphp5.so # AddModule mod_php5.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 interpretados como códigos PHP.
<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>
Nota:
Antes do OS X 10.5 (Leopard), o PHP 4 vinha empacotado ao invés do PHP 5, nesse caso as instruções acima serão um pouco diferentes, mudando de 5 para 4.
DocumentRoot
Esse é o diretório raiz para todos os arquivos do servidor. Os arquivos nesse diretório serão servidos pelo servidor web, então os arquivos PHP serão interpretados 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 outro no arquivo httpd.conf. Alternativamente, o DocumentRoot para usuários individuais é /Users/yourusername/SitesA função phpinfo() mostrará informação sobre o PHP. Considere criar um arquivo no DocumentRoot com o seguinte código PHP:
<?php phpinfo(); ?>
Para reiniciar, ou execute sudo apachectl graceful
no shell ou stop/start na opção "Personal Web Server" nas Preferêncais do Sistema no macOS. 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 o nome php e provavelmente está em /usr/bin/php. Abra um terminal, leia a seção sobre linha de comando do manual PHP e execute php -v
para verificar a versão do PHP usada. Uma chamada ao phpinfo() também revelará essa informação.