web-dev-qa-db-ja.com

#!/ 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 with #!/usr/bin/env phpを取得するにはどうすればよいですか?

7
witrin

/usr/bin/env phpは、現在の$PATHphpという名前の実行可能ファイルを探します。エイリアス、シェル関数などには注意を払いません。phpv5.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(またはその他の適切な起動スクリプト)に追加します。

11
Gordon Davisson