8

I've some PHP scripts which are starting with #!/usr/bin/env php. The default interpreter is PHP 4.4, but the scripts need PHP 5.3, so I created an alias in ~/.bashrc:

alias php="/usr/local/bin/php5-53LATEST-CLI"

Thus calling php -v shows me 5.3 but #!/usr/bin/env php uses still 4.4. I wont change the scripts. So how can I get PHP 5.3 with #!/usr/bin/env php?

1
  • 1
    You will change the scripts. Or get rid of PHP 4.4. Mar 5, 2014 at 11:15

1 Answer 1

13

/usr/bin/env php looks for an executable named php in the current $PATH; it pays no attention to aliases, shell functions, etc. If you want it to execute php v5.3, you have to put that version in a directory under the name php, and put that directory in your PATH somewhere before the directory that contains version 4.4. Maybe something like this:

mkdir /usr/local/bin/php-overrides
ln -s /usr/local/bin/php5-53LATEST-CLI /usr/local/bin/php-overrides/php

...then add

PATH="/usr/local/bin/php-overrides:$PATH"

to your ~/.bash_profile (or other appropriate startup script).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .