Fast Switching PHP on OS X
This is little snippet of aliases I use on OS X to switch quickly betwen multiple PHP installes with Homebrew. You can install all of the below versions of PHP via the Homebrew tap josegonzalez/homebrew-php.
This is a quick way to install all versions
brew tap josegonzalez/php
brew install php53 --with-fpm
brew install php54 --with-fpm
brew install php55 --with-fpm
These are the aliases that will auto switch to the version you want to use.
alias use_php53="brew unlink php54 && brew unlink php55 && brew unlink php53 && brew link php53"
alias use_php54="brew unlink php53 && brew unlink php55 && brew unlink php54 && brew link php54"
alias use_php55="brew unlink php53 && brew unlink php54 && brew unlink php55 && brew link php55"
Below is an extended version I use when I'm controlling FPM services via Supervisor.
alias use_php53="brew unlink php54 && brew unlink php55 && brew unlink php53 && brew link php53 && supervisorctl restart php5-fpm"
alias use_php54="brew unlink php53 && brew unlink php55 && brew unlink php54 && brew link php54 && supervisorctl restart php5-fpm"
alias use_php55="brew unlink php53 && brew unlink php54 && brew unlink php55 && brew link php55 && supervisorctl restart php5-fpm"
There you have it, a very simple but highly affective way of fast switching between php installs.
Written by Marc Qualie
Related protips
5 Responses
I think this is better approach: https://github.com/c9s/phpbrew
I agree that's a more advanced and fine tuned approach, it just takes a while to install/configure the way you want. My solution is designed as copy/patse drop-in for people already using Homebrew to manage PHP
I've done something very similar, although I extended it to use a symlinked libphp5.so and the corresponding bin folder from the active php version.
Here's my take on the matter. Simple. But not as powerful as phpbrew, because of its inherent simplicity:
https://github.com/conradkleinespel/sphp-osx
I followed this tutorial but only CLI version was changed not the PHP version from server (<?php phpinfo() ?>
How to fix this? FYI, I am using LEMP stack.