I recently needed to switch between PHP versions on my macOS environment to work on a legacy project.
As usual, I’d forgotten how to do this, so I’ve decided to publish the steps for my own and other’s reference.
The instructions below are for use with macOS 10.15 Catalina, and allow installation of PHP 5.6, 7.0, 7.1, 7.2, 7.3 & 7.4.
You’ll need both Xcode Command Line Tools and Homebrew installed.
1.1 Install XCode Command Line Tools
1.2 Install Homebrew
Homebrew is a package manager for macOS. It’s like
apt on Ubuntu.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Check that brew has installed:
$ brew --version Homebrew 2.2.5
You can also run
brew doctor to check everything is good to go.
2. Install Multiple PHP Versions
As of writing, only PHP 7.2, 7.3 and 7.4 are maintained and supported by Homebrew.
To install PHP 5.6, 7.0 & 7.1 we’ll need to ‘tap’ a repository for deprecated packages:
brew tap exolnet/homebrew-deprecated
Now, we can install all the available PHP versions:
brew install [email protected] brew install [email protected] brew install [email protected] brew install [email protected] brew install [email protected] brew install [email protected]
This may take a little time to install. Go make yourself a brew ☕️.
3. Switching between PHP versions
Once installed, you can switch between PHP versions by ‘linking’ and ‘unlinking’ in brew:
# Switch from 7.4 to 5.6 brew unlink [email protected] brew link [email protected] --force
You can combine
brew unlink and
brew link to swap between any installed version.
Open Source Alternatives
There are a few open source projects that aim to automate this for you, if you prefer: