У меня есть скрипты PHP, которые начинаются с #!/usr/bin/env php
. Интерпретатор по умолчанию - PHP 4.4, но скриптам нужен PHP 5.3, поэтому я создал псевдоним в ~/.bashrc
:
alias php="/usr/local/bin/php5-53LATEST-CLI"
Таким образом называя php -v
показывает мне 5.3, но #!/usr/bin/env php
использует еще 4.4. Я не буду менять скрипты. Итак, как я могу получить PHP 5.3 с #!/usr/bin/env php
?
/usr/bin/env php
ищет исполняемый файл с именем php
в текущем $PATH
; он не обращает внимания на псевдонимы, функции оболочки и т.д. Если вы хотите, чтобы он запускал php v5.3, вы должны поместить эту версию в каталог под именем php
, и поместите этот каталог в свой PATH
где-то перед каталогом, содержащим версию 4.4. Может быть, примерно так:
mkdir /usr/local/bin/php-overrides
ln -s /usr/local/bin/php5-53LATEST-CLI /usr/local/bin/php-overrides/php
...затем добавьте
PATH="/usr/local/bin/php-overrides:$PATH"
на ваш ~/.bash_profile
(или другой подходящий сценарий запуска).