Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save uran1980/ec05ce5c51a9a7524d5e4f40de838c86 to your computer and use it in GitHub Desktop.
Save uran1980/ec05ce5c51a9a7524d5e4f40de838c86 to your computer and use it in GitHub Desktop.
How to upgrade php from 5.6 to 7.1 on macOS Sierra with homebrew

How to upgrade php from 5.6 to 7.1 on macOS Sierra with homebrew

Make sure brew is up to date:

brew update
brew upgrade

Next up add the taps, unlink the old PHP and add the new!

brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/homebrew-php
brew unlink php56 # skip if not installed with brew
brew install php71

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment