はじめに
PHPはWebサーバー上で動かすだけでなく、コマンドライン(CLI)から直接スクリプトを実行することもできます。
試験では「shebangを使ってPHPを実行する仕組み」が問われることがあります。
この記事では、#!/usr/bin/env php
と #!/usr/bin/php
の違いを整理しながら、実行方法をわかりやすく解説します。
目次
CLIからPHPを実行する基本
通常は次のように実行します。
php sample.php
shebang(シバン)とは?
スクリプトの先頭行に「このスクリプトをどのプログラムで解釈するか」を指定するものです。
#! /usr/bin/env php
<?php
echo "Hello, world!";
- 1行目の
#! ...
がシバン - これにより、
./sample.php
のように実行できるようになります
実行権限を付ける
chmod +x sample.php
./sample.php
出力結果:
Hello, world!
/usr/bin/php と /usr/bin/env php の違い
書き方 | 動作 | 特徴 |
---|---|---|
#!/usr/bin/php | 絶対パス指定 | PHPが必ず /usr/bin/php にある必要がある |
#!/usr/bin/env php | PATHから検索 | 環境に依存せず、ポータブルで推奨されやすい |
まとめ
- shebangを使うと
./sample.php
で直接実行できる - 実行には
chmod +x
が必要 #!/usr/bin/env php
は環境依存が少なく、試験でもよく問われるポイント