I've tried to install Apache with homebrew on a clean install of macOS Sierra.
brew install php71 --with-httpd24
I got this warning many times during the installation
Warning: Use httpd instead of deprecated homebrew/apache/httpd24
Installation of Apache finished with this log:
Warning: Use httpd instead of deprecated homebrew/apache/httpd24
==> Installing homebrew/php/php71 dependency: homebrew/apache/httpd24
==> Downloading https://homebrew.bintray.com/bottles/httpd-2.4.27_2.sierra.bottl
==> Downloading from https://akamai.bintray.com/19/19bf2114d17e94601fa6eed220a0f
######################################################################## 100.0%
==> Pouring httpd-2.4.27_2.sierra.bottle.tar.gz
==> Caveats
To have launchd start httpd now and restart at login:
brew services start httpd
Or, if you don't want/need a background service you can just run:
apachectl start
==> Summary
/usr/local/Cellar/httpd/2.4.27_2: 1,620 files, 25.9MB
And php71 installed with this log:
==> Installing homebrew/php/php71 --with-httpd24
Warning: Use httpd instead of deprecated homebrew/apache/httpd24
Warning: Use httpd instead of deprecated homebrew/apache/httpd24
Warning: Use httpd instead of deprecated homebrew/apache/httpd24
Warning: Use httpd instead of deprecated homebrew/apache/httpd24
==> ./configure --prefix=/usr/local/Cellar/php71/7.1.8_20 --localstatedir=/usr/local/var --sysconfdir=/usr/local/etc/php/7.1 --with-config-file-pa
==> make
==> make install
==> Caveats
To enable PHP in Apache add the following to httpd.conf and restart Apache:
LoadModule php7_module /usr/local/opt/php71/libexec/apache2/libphp7.so
<FilesMatch .php$>
SetHandler application/x-httpd-php
</FilesMatch>
Finally, check DirectoryIndex includes index.php
DirectoryIndex index.php index.html
The php.ini file can be found in:
/usr/local/etc/php/7.1/php.ini
✩✩✩✩ Extensions ✩✩✩✩
If you are having issues with custom extension compiling, ensure that you are using the brew version, by placing /usr/local/bin before /usr/sbin in your PATH:
PATH="/usr/local/bin:$PATH"
PHP71 Extensions will always be compiled against this PHP. Please install them using --without-homebrew-php to enable compiling against system PHP.
✩✩✩✩ PHP CLI ✩✩✩✩
If you wish to swap the PHP you use on the command line, you should add the following to ~/.bashrc, ~/.zshrc, ~/.profile or your shell's equivalent configuration file:
export PATH="$(brew --prefix homebrew/php/php71)/bin:$PATH"
✩✩✩✩ FPM ✩✩✩✩
To launch php-fpm on startup:
mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/php71/homebrew.mxcl.php71.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php71.plist
The control script is located at /usr/local/opt/php71/sbin/php71-fpm
OS X 10.8 and newer come with php-fpm pre-installed, to ensure you are using the brew version you need to make sure /usr/local/sbin is before /usr/sbin in your PATH:
PATH="/usr/local/sbin:$PATH"
You may also need to edit the plist to use the correct "UserName".
Please note that the plist was called 'homebrew-php.josegonzalez.php71.plist' in old versions of this formula.
With the release of macOS Sierra the Apache module is now not built by default. If you want to build it on your system you have to install php with the --with-httpd24 option. See brew options php71 for more details.
To have launchd start homebrew/php/php71 now and restart at login:
brew services start homebrew/php/php71
==> Summary
/usr/local/Cellar/php71/7.1.8_20: 346 files, 51MB, built in 11 minutes 23 seconds
I've done it a dozen times on multiple machines. But not this time!
1- Apache is not working as I start it. Safari can't load localhost.
2- What is that warning? What does it mean?
3- Where is the /usr/local/etc/apache2 directory? Has it moved or renamed in new homebrew update?
As I checked the /usr/local/etc/ directory, there is no apache2 or httpd24 directory. Only a httpd directory with contents of a fresh Apache installation!
hadi@MyMBP:/usr/local/etc/httpd$ ll
total 248
drwxr-xr-x 14 hadi admin 476 Sep 30 21:51 extra
-rw-r--r-- 1 hadi admin 21109 Sep 30 22:46 httpd.conf
-rw-r--r-- 1 hadi admin 20919 Sep 30 22:31 httpd.conf.bak
-rw-r--r-- 1 hadi admin 13077 Sep 30 21:51 magic
-rw-r--r-- 1 hadi admin 60855 Sep 30 21:51 mime.types
drwxr-xr-x 4 hadi admin 136 Sep 30 21:51 original
Where is /usr/local/etc/apache2?