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