標準入力を受け付けるプログラムの動作がおかしいのですが、原因を教えてください。
単体でインストールしたphp5.5では正常に動作します。
windows7
xampp_portableのphp5.4
c:\xampp\php
実行結果
a
Input->:Print->a
c:\php
実行結果
Input->:a
Print->a
ソース
<?php
$str;
print "Input->:";
$str = trim(fgets(STDIN));
print "Print->$str\n";
?>
以上、どなたかお願いいたします。
phpの勉強を始めたばかりなので、初歩的な質問に
なっているかもしれません。
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";
こんな感じでどうでしょうか。なお、終了タグ「?>」は書かなくてもいいには過ぎず、書かない方がいいと推奨されています。マニュアルにそう書かれています。
ありがとうございました。この問題が解決できず2日ほどかかりつけでした。
教えていただいたプログラムで実行ができました。
Apatcheを利用するまではバッファリングを無効にしておくため
php.iniの
output_handler = mb_output_handler
と
output_buffering = 4096
をコメントアウトしました。(他に影響がないといいのですが・・・不安)
また、終了タグについてもご指摘ありがとうございました。
感謝いたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- その他(プログラミング・Web制作) python質問 1 2023/08/14 11:54
- PHP PHP ページング データベース 1 2022/06/16 10:30
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- その他(プログラミング・Web制作) どうしてもエラーが解決できません。 1 2022/07/23 04:32
- YouTube style.css エリアのコードを知りたい 1 2022/10/19 19:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<大至急!>ご教授願います。
-
メレンゲの歴史
-
*.php、*.php3、*.phtmlの違い
-
php apache 動かない・・
-
PHPINFOが見えない
-
apache2.2起動時にphpのエラー
-
<A href ~ と一緒に値を渡すには
-
フォームで戻った際に入力済み...
-
mamp環境でのcronの使い方で困...
-
データを渡すには・・・
-
require_once()でファイルが読...
-
PHPからMSSQLへの接続結果の文...
-
ヒョウタンボクの毒はどんな種...
-
phpの中でphpを書けないか
-
スポンジケーキの焼き方について
-
PHPで別PHPを呼び出す。
-
テキストエリアの内容がメール...
-
.htaccessにphp_valueが使用できな
-
php or shellでのユーザ変更に...
-
ブラウザによってはソースが表...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
これの対応OSを教えて下さい。p...
-
フォームで戻った際に入力済み...
-
.htaccessにphp_valueが使用できな
-
*.php、*.php3、*.phtmlの違い
-
<A href ~ と一緒に値を渡すには
-
HYのAM11:00のラップの部分の歌...
-
PEAR(Image_QRCode)のエラー
-
さくらインターネットでメール...
-
PHPINFOが見えない
-
PEAR installでエラー
-
PHPからMSSQLへの接続結果の文...
-
phpからoutlook起動
-
リンクのクリック数をカウンタ...
-
libphp5.so がないと?
-
phpの中でphpを書けないか
-
【PHP】tmp_nameの命名規約につ...
-
phpエラーメッセージ
-
PHPでの画面遷移について
-
Apache 2.4.0でphp5.3を使うには?
-
PHPでメールを受信するには?
おすすめ情報