# PHP Cliのあまり知られていない(と思われる)便利機能

PHP Cliにはオプションが大量に存在します。
その中でも私がよく使うものを紹介します。
そもそもPHPのCli版を使う機会は多く無いと思いますが、知っておくと役に立つと思います。

# インタラクティブシェルを実行する

a オプションでインタラクティブシェルを起動します。
PythonやRuby(irb)のようなものですが、これらと違って echovar_dump() 等を使わないとコンソール上に何も表示されないことだけ注意です。
もちろん、 includerequire でファイルを読み込むことも可能です。

$ php -a
Interactive mode enabled

php > $a = ['A' => 'a', 'B' => 'b', 'C' => 'c']; # PHPなのでセミコロン必須
php > var_dump($a);
array(3) {
  ["A"]=>
  string(1) "a"
  ["B"]=>
  string(1) "b"
  ["C"]=>
  string(1) "c"
}
php > require_once('hello.php'); # PHPファイルを読み込んで関数を実行することも可能
php > hello();
Hello world!
php > exit # exitで終了する
$

# 簡易サーバを立てる

S オプションでビルトインサーバを立てることができます。
php -S localhost:8888 のようにコマンドを実行すると、ポート8888でサーバが立ちます。
ドキュメントルートは実行したディレクトリになります。

$ php -S localhost:8888
PHP 7.3.11-0ubuntu0.19.10.3 Development Server started at Tue Mar 31 03:12:04 2020
Listening on http://localhost:8888
Document root is /home/fwhy/php_prj_01
Press Ctrl-C to quit.
[Tue Mar 31 03:12:14 2020] 127.0.0.1:33240 [404]: / - No such file or directory
[Tue Mar 31 03:12:14 2020] 127.0.0.1:33242 [404]: /favicon.ico - No such file or directory
[Tue Mar 31 03:14:13 2020] 127.0.0.1:33254 [200]: /info.php

↑実行中はコンソールにアクセスログが表示されます。

# 参考

PHP: コマンドラインの使用法 - Manual (opens new window)