Many website owners use PHP with their websites to expand the capabilities of the sites. Before you can enable PHP on a Mac, you first have to enable Apache. Both PHP and Apache are free open source software programs and both come installed on all Macs. PHP is server-side software, and Apache is the most widely used web server software. Enabling Apache and PHP on a Mac isn't difficult to do.01of 04
Enable Apache on MacOS
To enable Apache, open the app, which is located in the Mac's Applications > Utilities folder. You need to switch to the root user in Terminal so you can run commands without any permission issues. To switch to the root user and start Apache, enter the following code into Terminal.
sudo su -
That's it. If you want to test if it worked, enter //localhost/ in a browser, and you should see the standard Apache test page.
Enabling PHP for Apache
Make a backup of the current Apache configuration before you begin. This is a good practice as the configuration may change with future upgrades. Do this by entering the following in Terminal:
cp httpd.conf httpd.conf.sierra
Next, edit the Apache configuration with:
Uncomment the next line (remove #):
LoadModule php5_module libexec/apache2/libphp5.so
Then, restart Apache:
Note: When Apache is running, its identity is sometimes "httpd," which is short for "HTTP daemon." This example code assumes a PHP 5 version and MacOS Sierra. As the versions are upgraded, the code must change to accommodate new information.03of 04
Verify That PHP Is Enabled
To verify that PHP is enabled, create a phpinfo() page in your DocumentRoot. In MacOS Sierra, the default DocumentRoot is located in /Library/WebServer/Documents. Verify this from the Apache configuration:
grep DocumentRoot httpd.conf
Create the phpinfo() page in your DocumentRoot:
echo ' /Library/WebServer/Documents/phpinfo.php
Now open a browser and enter //localhost/phpinfo.php to verify that PHP is enabled for Apache.04of 04
Additional Apache Commands
You've already learned how to start Apache in Terminal mode with apachectl start. Here are a few more command lines you might need. They should be executed as the root user in Terminal. If not, prefix them with .
To find the Apache version
Note: A "graceful" start, restart or stop prevents an abrupt halt to proceedings and allows ongoing processes to complete.