SunshinePHP Developer Conference 2015

Usando el paquete PHP

PHP está incluido en los Macs desde la versión OS X 10.0.0. Habilitar PHP con el servidor web por defecto requiere descomentar unas cuantas líneas en el fichero de configuración de Apache httpd.conf donde CGI y/o CLI están activados por defecto (son fácilmente accesibles a través del programa Terminal).

Siguiendo las instrucciones que se ofrecen a continuación se podrá habilitar PHP de una forma rápida para un entorno de desarrollo local. Es muy recomendable tener siempre actualizado PHP a la última versión. Como casi todo el software vivo, y PHP no es una excepción, se crean nuevas versiones para resolver errores y añadir nuevas funcionalidades. Consulte la documentación de instalación de Mac OS X adecuada para más detalles. Las siguientes instrucciones para obtener una configuración están orientadas a los principiantes que deseen obtener una configuración totalmente operativa. Se anima a todos los usuarios a compilar o instalar una nueva versión ya empaquetada.

La instalación típica es mediante mod_php. Para habilitar el paquete mod_php que viene en el Mac OS X para el servidor web Apache (el servidor web por defecto, al que se puede acceder mediante las Preferencias del Sistema) se requiere efectuar los siguientes pasos:

  1. Localizar y abrir el archivo de configuración de Apache. Por defecto, la localización de dicho fichero es: /private/etc/apache2/httpd.conf Mediante el Finder o el Spotlight puede ser algo complicado encontrar dicho fichero ya que por defecto es privado y pertenece al usuario root.

    Nota: Una forma de abrir el fichero es usando un editor de texto basado en UNIX en el Terminal, como por ejemplo nano. Debido a que el fichero pertenece al usuario root se debe emplear el comando sudo para abrirlo (como si fueramos el usuario root). Por ejemplo, teclée lo siguiente en el Terminal (tras lo cual le preguntará por la contraseña): sudo nano /private/etc/apache2/httpd.conf Comandos de nano a tener en cuenta: ^w (buscar), ^o (guardar), and ^x (salir) donde ^ representa la tecla Ctrl.

    Nota: Las versiones de Mac OS X anteriores a 10.5 tienen incorporadas versiones antiguas de PHP y Apache. Por ello, es posible que el fichero de configuracion de Apache se encuentre en dichos equipos en /etc/httpd/httpd.conf.

  2. En el editor de texto, descomente las líneas (eliminando el símbolo #) que sean similares a las que se muestran a continuación (a menudo estas líneas se encuentran separadas, asi que tendrá que localizar ambas en el fichero):

    # LoadModule php5_module libexec/httpd/libphp5.so
    
    # AddModule mod_php5.c
    
    Fíjese en la localización/ruta de acceso. Cuando compile PHP en el futuro, las lineas arriba indicadas deberán ser reemplazadas o comentadas.

  3. Asegúrese que las extensiones que desee puedan ser interpretadas como PHP (por ejemplo: .php .html y .inc)

    Como las siguientes sentencias ya existían en el httpd.conf (desde el Max Panther), una vez se habilite PHP los ficheros .php automáticamente seran interpretados como 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:

    Con anterioridad a OS X 10.5 (Leopard) se empaquetaba PHP 4 en lugar de PHP 5, en cuyo caso las instrucciones anteriores pueden ser ligeramente diferentes cambiando los 5 por los 4.

  4. Asegúrese que DirectoryIndex carga el fichero por defecto index deseado Esto tambien se configura en httpd.conf. Normalmente se usan index.php y index.html. Por defecto index.php está habilitado porque está incluido en la comprobación de PHP mostrada arriba. Ajuste a conveniencia.
  5. Configure la localizacion de php.ini o use el valor por defecto. Por defecto se localiza en los Mac OS X en /usr/local/php/php.ini y empleando phpinfo() se puede obtener esta información. Si no se está usando php.ini, PHP usará los valores por defecto. Véase también las preguntas frecuentes relacionadas en finding php.ini.
  6. Localize o configure el DocumentRoot Éste es el directorio raíz de todos los ficheros web. Los ficheros en este directorio son obtenidos del servidor web a fin de que los ficheros PHP sean ejecutados como PHP antes de ser enviados al navegador. Una ruta de acceso típica es /Library/WebServer/Documents pero puede ser configurada en httpd.conf. Como alternativa, el DocumentRoot por defecto para usuarios individuales es /Users/yourusername/Sites
  7. Cree un fichero phpinfo()

    La función phpinfo() muestra información sobre PHP. Considere la creación de un fichero en el DocumentRoot que contenga el siguiente código PHP:

    <?php phpinfo(); ?>

  8. Reinicie Apache, y cargue el fichero PHP creado arriba

    Para reiniciar, ejecute sudo apachectl graceful en el shell o desactive/active la opción "Compartir Web" en las Preferencias del Sistema. Por defecto, cargar ficheros locales en el navegador tiene una URL parecida a: http://localhost/info.php. Usar DocumentRoot en el directorio del usuario es otra opción, y la URL sería parecida a: http://localhost/~yourusername/info.php

CLI (o CGI en versiones antiguas) también es llamado de forma correcta php y posiblemente existe como /usr/bin/php. Abra el Terminal, lea la sección de línea de comando del manual de PHP, y ejecute php -v para comprobar la versión de PHP del binario PHP. Una llamada a phpinfo() también le mostrará esta información.

add a note add a note

User Contributed Notes 6 notes

up
12
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
5
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
2
cweiske at cweiske dot de
3 months ago
On recent (10.8/10.9) macs, the apache php config file is located at /etc/apache2/others/php5.conf
up
1
parampal
1 month 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