PHPこれはコマンドラインから実行されることを意図している場合が多いですが、この行は#!/usr/bin/env php
このようなファイルの先頭に...
#!/usr/bin/env php
<?php
// code
?>
これがファイルがLinux/Unixシステムで実行される場合にのみ意味があるのか、それともWindowsで実行する必要があるのかを知りたいと思っていましたか?
「ハッシュバング」行は、スクリプトのタイプの自動検出に必要です。それはこの種の使用を可能にします:
[pfisher ~]$ chmod +x run-me.php
[pfisher ~]$ run-me.php
次のように、ファイル名を引数としてphpインタープリターに渡す場合、その行は必要ありません。
[pfisher ~]$ php run-me.php
いいえ、そうではありません。直接使用できます
#!/path/to/php
Envユーティリティを介してphp(またはその他)を実行することは、弱いセキュリティ対策です。プラットフォームによっては、さまざまな構成ファイルに従ってPATH、LIB、およびその他の環境変数を「修正」し、そこにある危険な値の一部を削除する可能性があります(HPUXのenvなど)。
また、特定の環境でのシェル展開の範囲を制限することもできます。 (Linuxのman 1 envを参照してください)。