PHP has come standard with Macs since OS X version 10.0.0. Enabling PHP
with the default web server requires uncommenting a few lines in the
Apache configuration file
httpd.conf whereas the
CGI and/or CLI are enabled by
default (easily accessible via the Terminal program).
Enabling PHP using the instructions below is meant for quickly setting up a local development environment. It's highly recommended to always upgrade PHP to the newest version. Like most live software, newer versions are created to fix bugs and add features and PHP being is no different. See the appropriate MAC OS X installation documentation for further details. The following instructions are geared towards a beginner with details provided for getting a default setup to work. All users are encouraged to compile, or install a new packaged version.
The standard installation type is using mod_php, and enabling the bundled mod_php on Mac OS X for the Apache web server (the default web server, that is accessible via System Preferences) involves the following steps:
Locate and open the Apache configuration file. By default, the location
is as follows:
Spotlight to find
this file may prove difficult as by default it's private and owned by
One way to open this is by using a Unix based text editor in the
Terminal, for example
nano, and because the
file is owned by root we'll use the
to open it (as root) so for example type the following into the
Terminal Application (after, it will prompt for
sudo nano /etc/httpd/httpd.conf
Noteworthy nano commands:
^o (save), and
^x (exit) where
^ represents the Ctrl key.
With a text editor, uncomment the lines (by removing the #) that look similar to the following (these two lines are often not together, locate them both in the file):
# LoadModule php4_module libexec/httpd/libphp4.so
# AddModule mod_php4.c
Notice the location/path. When building PHP in the future, the above files should be replaced or commented out.
Be sure the desired extensions will parse as PHP (examples: .php .html and .inc)
Due to the following statement already existing in
httpd.conf (as of Mac Panther), once PHP is
.php files will automatically
parse as PHP.
# 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
DirectoryIndex index.html index.php
Be sure the DirectoryIndex loads the desired default index file
This is also set in
used. By default
index.php is enabled because
it's also in the PHP check shown above. Adjust accordingly.
php.ini location or use the default
A typical default location on Mac OS X is
/usr/local/php/php.ini and a call to
phpinfo() will reveal this information.
php.ini is not used, PHP will use all default values.
See also the related FAQ on
Locate or set the
This is the root directory for all the web files. Files in this directory
are served from the web server so the PHP files will parse as PHP before
outputting them to the browser. A typical default path is
/Library/WebServer/Documents but this can be set to
httpd.conf. Alternatively, the default
DocumentRoot for individual users is
Create a phpinfo() file
The phpinfo() function will display information about PHP. Consider creating a file in the DocumentRoot with the following PHP code:
<?php phpinfo(); ?>
Restart Apache, and load the PHP file created above
To restart, either execute
sudo apachectl graceful in
the shell or stop/start the "Personal Web Server" option in the
OS X System Preferences. By default, loading local files in the browser
will have an URL like so:
http://localhost/info.php Or using the DocumentRoot
in the user directory is another option and would end up looking like:
The CLI (or CGI in older versions) is
php and likely exists as
/usr/bin/php. Open up the terminal, read the
command line section of the PHP
manual, and execute
php -v to check the PHP version of
this PHP binary. A call to phpinfo() will also reveal