Running a PHP application on Big Sur using Apache
If you have a PHP application and want a quick approach for running it on a mac with the latest OS version, then this tutorial might be useful.
Testing and launching the Apache server
Big Sur already comes with Apache
installed. You can check the current version by running:
~ httpd -v
Server version: Apache/2.4.46 (Unix)
Server built: May 8 2021 03:38:34
In order to start the server you can run:
~ sudo apachectl start
Open localhost
in any browser and you should see:
Configuring Apache to run PHP 7
Big Sur also comes with PHP installed, but the local Apache configs may not support running PHP by default.
In order to activate this setting, open /etc/apache2/httpd.conf
with nano
or any other text editor and uncomment the following line:
LoadModule php7_module libexec/apache2/libphp7.so
PHP is now enabled, all you need to do is restart the Apache web server for the changes to take effect:
~ sudo apachectl restart
Setting up mySQL
Ensure that you have mySQL correctly installed and running on your machine.
- you can download the
.dmg
from here, then follow the instructions on the wizard. - once the wizard is done go to
System Preferences
>MySQL
and ensure that the server is running as shown below:
In order to have mySQL binaries available via command line, you can also add /usr/local/mysql/bin/
to the PATH
. In my case I did:
~ nano ~/.zshrc
...
export PATH=/usr/local/mysql/bin:$PATH
Finally, you need to ensure PHP and MySQL can communicate with one another, which you can achieve by running:
~ cd /var
~ sudo mkdir mysql
~ cd mysql
~ sudo ln -s /tmp/mysql.sock mysql.sock
Serving the application
Check Apache's default DocumentRoot
on /etc/apache2/httpd.conf
:
As you can see, in my case it's /Library/WebServer/Documents
.
This means that this is the directory where you should put your PHP application.
Once the app is inside this directory you'll be able to see it running by going to http://localhost/<path-to-your-initial-file>.