質問

このスーパーユーザーの質問 私は、インタプリタを明示的に実行し、スクリプトを引数として提供することによって、解釈された言語(php、pythonなど)で書かれたスクリプトを実行する:

> php script.php

スクリプトに行を追加してOSに実行するように指示するのではなく、次のようにします:

#!/usr/bin/php
<?php
echo "hello world";
?>

なぜこれは本当ですか?私の直感では、スクリプトがインタプリタの実行可能ファイルが別のパスにあるシステムに移動された場合の方が安全だと言われていますが、それが唯一の理由ですか?これを行うには、次の手順に従ってください。

役に立ちましたか?

解決

このイディオムを使用すると、移植性が向上します:

#!/usr/bin/env php

しかし、それはそれ自身の欠点を持っています;で長い議論を参照してください http://sites.google.com/site/frankpzh/knowledge-library/shebang

他のヒント

特にバイナリがx64で示されたパスに格納されたり、/usr/local/bin/phpにインストールされたりする場合は、異なるパスが主な理由になります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top