Let’s assume you have two PHP versions installed via Homebrew:
- PHP 8.1.1
- PHP 8.0.14
Your current PHP version is 8.1.1:
PHP 8.1.1 (cli) (built: Dec 17 2021 23:49:52) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.1, Copyright (c) Zend Technologies with Zend OPcache v8.1.1, Copyright (c), by Zend Technologies
Now, you’re working on a project that’s not compatible with 8.1.1 so you want to use PHP 8.0.14.
Disable unwanted PHP version
Disable the formula that provides PHP 8.1.1.
brew unlink php
Here, we’re unlinking
php which at the time of writing is the name of the formula that provides PHP 8.1.1.
Now, if you run
php -v, you’ll either get the PHP version that’s installed by default on macOS or a command not found error if your macOS doesn’t provide PHP by default.
WARNING: PHP is not recommended PHP is included in macOS for compatibility with legacy software. Future versions of macOS will not include PHP. PHP 7.3.24-(to be removed in future macOS) (cli) (built: Jun 17 2021 21:41:15) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.24, Copyright (c) 1998-2018 Zend Technologies
If using PHP-FPM, stop the PHP service.
brew services stop php
Enable new PHP version
Make sure you’ve installed the formula containing your desired PHP version, then run:
brew link email@example.com
Now, you should have PHP 8.0.14 enabled.
PHP 8.0.14 (cli) (built: Dec 17 2021 22:29:11) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.14, Copyright (c) Zend Technologies with Zend OPcache v8.0.14, Copyright (c), by Zend Technologies
If using PHP-FPM, enable the PHP-FPM service.
brew services start firstname.lastname@example.org
If you want to switch back, you can repeat the same steps.