我有一些以#!/usr/bin/env php开头的PHP脚本。 默认的解释器是PHP 4.4,但脚本需要PHP 5.3,所以我在~/.bashrc创build了一个别名:
alias php="/usr/local/bin/php5-53LATEST-CLI"
因此,调用php -v显示我5.3但是#!/usr/bin/env php仍然使用4.4。 我不会改变脚本。 那么我怎么能用#!/usr/bin/env php来获取PHP 5.3呢?
/usr/bin/env php php在当前$PATH查找名为php的可执行文件; 它不关注别名,shell函数等等。如果你想要执行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 (或其他适当的启动脚本)。