PHP 5.1.0 以降では、--with-readline オプションつきで PHP をコンパイルした場合に CLI SAPI で対話シェルが使えるようになりました。 対話シェルは、-a オプションで使うことができます。
対話シェルを使うと、PHP のコードを打ち込んで直接実行できるようになります。
例1 対話シェル上でのコードの実行
$ php -a
Interactive shell
php > echo 5+8;
13
php > function addTwo($n)
php > {
php { return $n + 2;
php { }
php > var_dump(addtwo(2));
int(4)
php >
対話シェル上では、タブ補完機能を使って 関数や定数、クラス名、変数名、静的なメソッドコール、そしてクラス定数を補完することができます。
例2 タブ補完
補完候補が複数あるときにタブキーを二度押すと、 補完候補の一覧が表示されます。
php > strp[TAB][TAB] strpbrk strpos strptime php > strp
候補がひとつしかないときは、タブキーを一度押せば残りを補完してくれます。
php > strpt[TAB]ime(
対話シェルのセッション上で定義したものについても補完することができます。
php > $fooThisIsAReallyLongVariableName = 42; php > $foo[TAB]ThisIsAReallyLongVariableName
対話シェル上では操作履歴が保存され、上矢印キーと下矢印キーで履歴にアクセスすることができます。 履歴の保存先は ~/.php_history ファイルです。
注意: auto_prepend_file および auto_append_file で インクルードされたファイルはこのモードでもパースされますが、 いくつかの制限があります。例えば、関数はそれがコールされる前に 定義されていなければなりません。
注意: オートローディング は、PHP を CLI の対話モードで実行している場合は使用できません。