Php

別名在 #!/usr/bin/env php 的腳本中不起作用

  • June 7, 2015

我有一些以#!/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;它不關心別名、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

…然後加

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

到您的~/.bash_profile(或其他適當的啟動腳本)。

引用自:https://serverfault.com/questions/579956