• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:xampp php コマンドライン入力)

xampp php コマンドライン入力

このQ&Aのポイント
  • xamppでのphpコマンドライン入力の不具合について
  • php5.5では正常に動作するが、xamppのphp5.4では不具合が発生する
  • Windows7でxampp portableを使用している

質問者が選んだベストアンサー

  • ベストアンサー
noname#244856
noname#244856
回答No.1

php.iniのoutput_buffering設定に影響されているようですね。「バッファリング」といって、echoした後もすぐには出力せずに、ある程度溜めておいてまとめて表示させる手法です。実際にApacheを利用してWebサイトを公開する場合にはバッファリングを使用したほうが好都合なことが多いのですが、コマンドラインの場合には完全に要らない子ですね。局所的に無効にしたい場合は <?php while (ob_get_level()) ob_end_clean(); print "Input->:"; $str = trim(fgets(STDIN)); print "Print->$str\n"; こんな感じでどうでしょうか。なお、終了タグ「?>」は書かなくてもいいには過ぎず、書かない方がいいと推奨されています。マニュアルにそう書かれています。

tama_sampo
質問者

お礼

ありがとうございました。この問題が解決できず2日ほどかかりつけでした。 教えていただいたプログラムで実行ができました。 Apatcheを利用するまではバッファリングを無効にしておくため php.iniの output_handler = mb_output_handler と output_buffering = 4096 をコメントアウトしました。(他に影響がないといいのですが・・・不安) また、終了タグについてもご指摘ありがとうございました。 感謝いたします。

専門家に質問してみよう