我有一些 PHP 脚本,它们以#!/usr/bin/env php. 默认解释器是 PHP 4.4,但脚本需要 PHP 5.3,所以我在 中创建了一个别名~/.bashrc:
alias php="/usr/local/bin/php5-53LATEST-CLI"
Run Code Online (Sandbox Code Playgroud)
因此调用php -v显示我 5.3 但#!/usr/bin/env php仍然使用 4.4。我不会更改脚本。那么我怎样才能获得 PHP 5.3#!/usr/bin/env php呢?
Gor*_*son 13
/usr/bin/env php寻找php在当前命名的可执行文件$PATH;它不关心别名、shell 函数等。如果你想让它执行 php v5.3,你必须把那个版本放在 name 下的一个目录中php,并将该目录PATH放在包含 4.4 版本的目录之前的某个位置. 也许是这样的:
mkdir /usr/local/bin/php-overrides
ln -s /usr/local/bin/php5-53LATEST-CLI /usr/local/bin/php-overrides/php
Run Code Online (Sandbox Code Playgroud)
...然后加
PATH="/usr/local/bin/php-overrides:$PATH"
Run Code Online (Sandbox Code Playgroud)
到您的~/.bash_profile(或其他适当的启动脚本)。