With Homebrew, sometimes you have many PHP versions installed. I personally use EVERY php version to be sure every open-source project I have on my env works for every version.
This is why I have php 5.3, 5.4, 5.5, 5.6 and 7.0 installed with Homebrew.
Switching php versions is a pain when using homebrew, because you have to brew unlink
the php versions used, and brew link
the one you want.
Executing this script without argument shows all versions installed, and especially the current version.
Executing it with an argument will check a potential symlink in /usr/local/bin/php{version}
unlink all versions, and link the one you specified.
Execute this script to install phpv
sudo wget https://gist.githubusercontent.com/Pierstoval/1645a26ea5d2200642b6/raw/phpv.bash -O /usr/local/bin/phpv && sudo chmod +x /usr/local/bin/phpv && sudo chown `whoami` /usr/local/bin/phpv
-
Show all versions installed:
$ phpv Current: PHP 5.5.27 (cli) (built: Jul 14 2015 17:04:01) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies with Xdebug v2.3.3, Copyright (c) 2002-2015, by Derick Rethans PHP 7.0.0beta2 (cli) (built: Jul 24 2015 10:34:53) Copyright (c) 1997-2015 The PHP Group Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies PHP 5.6.11 (cli) (built: Jul 30 2015 17:06:05) (DEBUG) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies with Xdebug v2.3.3, Copyright (c) 2002-2015, by Derick Rethans PHP 5.5.27 (cli) (built: Jul 14 2015 17:04:01) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies with Xdebug v2.3.3, Copyright (c) 2002-2015, by Derick Rethans PHP 5.4.43 (cli) (built: Jul 14 2015 16:52:26) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies with Xdebug v2.3.3, Copyright (c) 2002-2015, by Derick Rethans PHP 5.3.29 (cli) (built: Jul 14 2015 16:39:57) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2014 Zend Technologies with Xdebug v2.2.7, Copyright (c) 2002-2015, by Derick Rethans
-
Switch to another version:
$ phpv 54 phpv Switch to /usr/local/bin/php54 Unlinking /usr/local/Cellar/php53/5.3.29_2... 0 symlinks removed Unlinking /usr/local/Cellar/php54/5.4.43_2... 0 symlinks removed Unlinking /usr/local/Cellar/php55/5.5.27_2... 0 symlinks removed Unlinking /usr/local/Cellar/php56/5.6.11_2... 38 symlinks removed Unlinking /usr/local/Cellar/php70/7.0.0-beta.2... 0 symlinks removed Linking /usr/local/Cellar/php54/5.4.43_2... 40 symlinks created PHP 5.4.43 (cli) (built: Jul 14 2015 16:52:26) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies with Xdebug v2.3.3, Copyright (c) 2002-2015, by Derick Rethans
Plus, for convenience, it's awesome to have a symlink for every PHP version pointing to /usr/local/opt/php/{version}/bin/php
.
But you're lucky: the script can generate them automatically if it detects that a specific version of PHP is installed and if the symlink is not created.
Else, you can do it yourself by executing this script:
sudo ln -s /usr/local/opt/php53/bin/php /usr/local/bin/php53 && sudo chmod +x /usr/local/bin/php53
sudo ln -s /usr/local/opt/php54/bin/php /usr/local/bin/php54 && sudo chmod +x /usr/local/bin/php54
sudo ln -s /usr/local/opt/php55/bin/php /usr/local/bin/php55 && sudo chmod +x /usr/local/bin/php55
sudo ln -s /usr/local/opt/php56/bin/php /usr/local/bin/php56 && sudo chmod +x /usr/local/bin/php56
sudo ln -s /usr/local/opt/php70/bin/php /usr/local/bin/php70 && sudo chmod +x /usr/local/bin/php70
Then, you can execute any of the php version directly in command line by executing the so-called version:
$ php53 -v
PHP 5.3.29 (cli) (built: Jul 14 2015 16:39:57)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2014 Zend Technologies
with Xdebug v2.2.7, Copyright (c) 2002-2015, by Derick Rethans
And you can do the same for every version.