PHP Cliのあまり知(し)られていない(と思(おも)われる)便利機能(べんりきのう)

PHP Cliにはオプションが大量(たいりょう)に存在(そんざい)します。
その中でも私(わたし)がよく使(つか)うものを紹介(しょうかい)します。
そもそもPHPのCli版(ばん)を使(つか)う機会(きかい)は多(おお)くないと思(おも)いますが、知(し)っておくと役(やく)に立(た)つと思(おも)います。

インタラクティブシェルを実行(じっこう)する

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

$ 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