Псевдоним не работает в сценарии с #!/ Usr/bin/env php
У меня есть несколько 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
?
1 ответ
/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
(или другой соответствующий скрипт запуска).