ConFoo: Call for paper is now Open

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:

  1. 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.

  2. 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 php4_module libexec/httpd/libphp4.so
    
    # AddModule mod_php4.c
    
    Perceba a localização/caminho. Quando compilar o PHP no futuro, os arquivos acima devem ser substituidos ou comentados.

  3. 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>
    

  4. 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.
  5. 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.
  6. 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
  7. 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(); ?>

  8. 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.

add a note add a note

User Contributed Notes 6 notes

up
13
Anonymous
5 years ago
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.
up
6
Julee
1 year ago
To work on Mac OS X Lion 10.7, I had to change /private/etc/php.ini.default to /private/etc/php.ini
up
1
jaffle
5 years ago
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)
up
1
cweiske at cweiske dot de
2 months ago
On recent (10.8/10.9) macs, the apache php config file is located at /etc/apache2/others/php5.conf
up
0
parampal
14 days ago
instead of step 3, add the following lines to the `/private/etc/apache2/mime.types` file

application/x-httpd-php                 php
application/x-httpd-php-source   phps
up
-4
sachin at dharmapurikar dot in
5 years ago
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>
To Top