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:
-
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.
-
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.
-
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.
-
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.
-
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.
-
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
-
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:
-
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.
Anonymous ¶16 years ago
You only have to uncomment:#LoadModule php5_module libexec/apache2/libphp5.soThis is gone:# AddModule mod_php5.cThe 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.
10086 at xiaoi dot me ¶6 years ago
setup apache + php environment on macOS 10.12.6step 1: start httpd by apachectl > sudo apachectl startstep 2: find httpd.conf > sudo apachectl -t -D DUMP_INCLUDESstep 3: edit conf, eg: /opt/local/etc/apache2/httpd.conf > sudo vim /opt/local/etc/apache2/httpd.confstep 4: Load php module before <IfModule unixd_module>, eg:```LoadModule php5_module /usr/libexec/apache2/libphp5.so<IfModule unixd_module>```step 5: add mod_php5.c end of httpd.conf```<IfModule mod_php5.c> AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps <IfModule mod_dir.c> DirectoryIndex index.html index.php </IfModule></IfModule>```step 6: save and quitstep 7: restart httpd > sudo apachectl restartstep 8: write demo.php , test configuration```<?php phpinfo();?>```step 9: copy demo.php to "DocumentRoot", you can find by httpd.confstep 10: visit demo.phpall done.