Mac / OSx - Change PHP version which is call in bash Mac / OSx - Change PHP version which is call in bash bash bash

Mac / OSx - Change PHP version which is call in bash


Another way without changing the original php file / link is if you edit your .bashrc file as follows (works with other commands as well):

  1. Open your Terminal / Commandline and type in:

    vim ~/.bashrc
  2. Then press "i" to get into edit-mode (if there shows up a problem before that, because of a swap file, then press "E" to edit the file anyway)
  3. Add the following line (change the path as needed):

    alias php="/Applications/MAMP/bin/php/php5.4.10/bin/php"
  4. Press "ESC" and type in ":wq"
  5. If you need the php-alias to work right out of your current shell-session, then you have to use the following command (that's optional, so only if u r continuing to work in your current shell):

    source ~/.bashrc

That's it, no change in the /usr/bin folder needed, and u can export your bashrc file / settings to any other linux / bsd like system if needed without even touching your OS /usr/bin files. You can also add new aliases for different php versions, aliases like "php52", "php53", "php54", etc. for testing purposes or whatsoever.

Have fun,ioCron


OS: OSX Yosemite
Just sort out a similar issue by vim ~/.bash_profile

export PATH=/usr/local/bin:$PATH
export PATH=/Applications/MAMP/bin/php/php5.5.10/bin:$PATH

Make sure the order is correct. Put export PATH=/usr/local/bin:$PATH before export PATH=/Applications/MAMP/bin/php/php5.5.10/bin:$PATH

/usr/local/bin contains the mac default php.

Hope this helps.


For brew users, you might not need php55 if you already have 54 - but regardless you should probably run these commands

$ brew install php54 php54-xdebug php54-mcrypt

you can substitute 54 with the latest number if you want. last i checked it was on 56

then based on some of the comments above you should run:

$ php --version

it will probably display:

PHP 5.4.24 (cli) (built: Jan 19 2014 21:32:15) Copyright (c) 1997-2013 The PHP GroupZend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

if it does, then change your .bash_profile like some of the other commentersmy brew instance (i think its default) lives in

/usr/local/Cellar/usr/local/bin

as things get installed using brew, they get put in Cellar and linked through the bin. but in this case we need to override the php

$ sudo nano ~/.bash_profile

mine kinda looks like:

PATH=$PATH:~/binPATH=$PATH:/usr/local/binPATH=$PATH:/usr/local/sbinPATH=$PATH:/usr/local/Cellar/r/2.15.1/R.framework/Versions/Current/Resources/li$export PATH

which means that it already has access to the /usr/local/bin - but i use the alias to specify by adding this line, near the bottom:

alias php="/usr/local/bin/php"

save and close the terminal window, open up another one, and it should show something like:

$ php --versionPHP 5.4.27 (cli) (built: Apr 24 2014 17:16:35) Copyright (c) 1997-2014 The PHP GroupZend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies    with Xdebug v2.2.4, Copyright (c) 2002-2014, by Derick Rethans