[2] Apache <=> PHP switching version
Although we configured Apache to use PHP earlier, we now need to change this again to point the
PHP module to a location used by the PHP switcher script. You will again need to edit the
/usr/local/etc/apache2/2.4/httpd.conf
file and search for the LoadModule php
text that you
edited earlier.
You must replace the current block of LoadModule entries (including any commented out ones):
#LoadModule php5_module /usr/local/opt/php55/libexec/apache2/libphp5.so
LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so
#LoadModule php7_module /usr/local/opt/php70/libexec/apache2/libphp7.so
#LoadModule php7_module /usr/local/opt/php71/libexec/apache2/libphp7.so
with this:
# Brew PHP LoadModule for `sphp` switcher
LoadModule php5_module /usr/local/lib/libphp5.so
#LoadModule php7_module /usr/local/lib/libphp7.so
The Commented out line for php7_module
is important and required if you are installing
PHP 7.0 or 7.1 as it uses a unique PHP module handler. The script will automatically
handle uncommenting and commenting the appropriate PHP module.
Testing the PHP Switching
After you have completed these steps, you should be able to switch your PHP version by
using the command sphp
followed by a two digit value for the PHP version:
sphp 55
You will probably have to enter your administrator password, and it should give you some feedback:
$ sphp 55
PHP version 55 found
Unlinking old binaries...
Linking new binaries...
Linking /usr/local/Cellar/php55/5.5.38_11... 17 symlinks created
Linking new modphp addon...
Fixing LoadModule...
Updating version file...
Restarting homebrew Apache...
Restarting non-root homebrew Apache...
Done.
PHP 5.5.38 (cli) (built: Oct 4 2016 15:48:32)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
Updating PHP and other Brew Packages
Brew makes it super easy to update PHP and the other packages you install. The first step is to update Brew so that it gets a list of available updates:
$ brew update
This will spit out a list of available updates, and any deleted formulas. To upgrade the packages simply type:
$ brew upgrade
You will need to switch to each of your installed PHP versions and run update again to get updates for each PHP version and ensure you are running the version of PHP you intend.
Activating Specific/Latest PHP Versions
Due to the way our PHP linking is set up, only one version of PHP is linked at a time, only the current active version of PHP will be updated to the latest version. You can see the current active version by typing:
php -v
And you can see the specific versions of PHP available by typing:
$ brew info php55
homebrew/php/php55: stable 5.5.30 (bottled), HEAD
https://php.net
Conflicts with: php53, php54, php56, php70
/usr/local/Cellar/php55/5.5.28 (498 files, 51M)
Poured from bottle
/usr/local/Cellar/php55/5.5.29_3 (327 files, 49M)
Poured from bottle
/usr/local/Cellar/php55/5.5.30 (327 files, 49M)
Poured from bottle
...
You will see all the versions of PHP 5.5 brew has available and then you can switch to a specific version by typing:
brew switch php55 5.5.28