Recommend switching to Docker
I finally switched to using Docker for local development on macOS. While the following tutorial works for macOS Catalina, it has limitations. I recommend following my latest tutorial on installing Apache, MySQL, and PHP on macOS using Docker.
Note: This post is for new installations. If you have installed Apache, PHP, and MySQL for Mac OS Mojave, read my post on Updating Apache, PHP, and MySQL for macOS Catalina.
MAMP is a Mac utility that helps users install Apache, Nginx, PHP and MySQL on their machine and therefore have a personal web server. The name of the program is an. Install PHP on Mac OS X. To enable PHP support for Apache, we need to make changes in its configuration file. Pankajs-MacBook-Pro:CODE root # vi /etc/apache2/httpd.conf Uncomment below line and save it. LoadModule php5module libexec/apache2/libphp5.so. Now restart the server and it should be able to process PHP files. AppServ: Apache + PHP + MySQL Simple package for programming. Quickly and easy to install Apache, PHP, MySQL. Don’t need any skill for setting up step by step. Can turn your PC to Web Server and Database Server. AppServ is FREE for everyone in this world. AppServ 9.3.0 Apache 2.4.41; PHP 7.3.10; MySQL 8.0.17; phpMyAdmin 4.9.1 Support TLS,SSL. Programmers can develop a local web server using Xampp. Xampp is equally compatible with operating systems like Linux, Microsoft Windows and Mac as well. Programmers find Xampp very easy to use, the reason is simple that it is powered by Apache, MySQL, PHP and Perl. You need to have a php server for serving.php files. The simple python server is not a php server and therefore it is just simply listing the files in the directory for download. If you are on OSX 10 or above, it comes with apache which has php module present and can be setup to serve php file.
I am aware of the web server software available for macOS, notably MAMP, as well as package managers like
brew. These get you started quickly. But they forego the learning experience and, as most developers report, can become difficult to manage.
macOS runs atop UNIX. Most UNIX software installs easily on macOS. In Additional, Apache and PHP come preinstalled with macOS. So to create a local web server, all you need to do is configure Apache and install MySQL.
First, open the Terminal app and switch to the
root user so you can run the commands in this post without any permission issues:
Enable Apache on macOS
Verify It works! by accessing http://localhost
Enable PHP for Apache
First, make a backup of the default Apache configuration. This is good practice and serves as a comparison against future versions of macOS.
Now edit the Apache configuration. Feel free to use a different editor if you are not familiar with vi.
Uncomment the following line (remove
You can verify PHP is enabled by creating a
phpinfo() page in your
DocumentRoot for macOS Catalina is
/Library/WebServer/Documents. You can verify this from your Apache configuration.
Now create the
phpinfo() page in your
Verify PHP by accessing http://localhost/phpinfo.php
Install MySQL on macOS Catalina
Download and install the latest MySQL generally available release DMG for macOS. MySQL 8 is the latest version. But older versions are available if you need to support older applications.
When the install completes it will provide you with a temporary password. Copy this password before closing the installer. You will use it again in a few steps.
Php Development Server
The README suggests creating aliases for
mysqladmin. However there are other commands that are helpful such as
mysqldump. Instead, you can update your path to include
Note: You will need to open a new Terminal window or run the command above for your path to update.
Finally, you should run
mysql_secure_installation. While this isn't necessary, it's good practice to secure your database. This is also where you can change that nasty temporary password to something more manageable for local development.
Connect PHP and MySQL
You need to ensure PHP and MySQL can communicate with one another. There are several options to do so. I like the following as it doesn't require changing lots of configuration:
Additional Configuration (optional)
Web Server Php For Mac Installer
The default configuration for Apache 2.4 on macOS seemed pretty lean. For example, common modules like
mod_rewrite were disabled. You may consider enabling this now to avoid forgetting they are disabled in the future.
I edited my Apache Configuration:
Web Server Php For Mac Os
I uncommented the following lines (remove
If you develop multiple projects and would like each to have a unique url, you can configure Apache VirtualHosts for macOS.
If you would like to install PHPMyAdmin, return to my original post on installing Apache, PHP, and MySQL on macOS.
Find this interesting? Let's continue the conversation on Twitter.