PHP – 対話モード

対話モード

開始

-aオプションをつけてphpコマンドを実行する。

php -a

終了

exit

実行例

日本語が入力できない

phpの対話モードで日本語を入力しようとしたところ、変換候補は表示されるが確定すると消えてしまう。

MySQLでもそのような症状があったが、OSのロケール設定とMySQLの文字コード設定で解決した。

OSのロケールは共通でUTF-8、日本語を含むコードをファイルから実行した場合は問題なく表示される。

原因はわかっていない。

phpコマンドのみの場合

オプション-aをつけずにphpコマンドを入力した場合もスクリプト実行ができるが

  • プロンプトが表示されない
  • Enterを入力しても実行されない
  • exitを入力しても終わらない
  • Ctrl-Cで抜け出せるが抜けるだけ

PHPマニュアルに”–with-readline オプションつきで PHP をコンパイルした場合に CLI SAPI で対話シェルが使えるようになりました。”とあるが、このオプションなしでコンパイルされている?

対応策

以下の2点。

  • PHPの実行タグ<?phpで始める
  • 入力終了後にCtrl-Dを入力する(Ctrl-Dで入力を終了させる)

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です