IISでFlushが動作しない - PHPプロ!Q&A掲示板

2569

  • 0P

IISでFlushが動作しない

質問日時 / 2010年2月26日 13:10    回答数 / 0件

Questioner:  asugonn  このエントリーをはてなブックマークに追加 

キーワード / flush    IIS   

phpのtimeoutを避ける方法を探しており、flushを使用することで回避可能という記事を目にしました。
実際にサンプルを作成してみたところ、timeoutされることはなくなったのですが、本来は処理中に
flushされるはずのブラウザの画面が処理が完了するまで表示されません(処理完了後に一気に表示されます)。

  1. <html><body>
  2. <?php
  3.   set_time_limit(0);
  4.   ob_end_clean();
  5.   echo str_pad('',256);
  6.  
  7.   for ($time=time()time()<$time+500) {
  8.     echo (time()-$time)." seconds running<br>\n";
  9.     flush();
  10.     sleep(1);
  11.   }
  12. ?>
  13. </body></html>

これを動かすには.htacessにmod_gzip_on Offを設定するように注意書きがあったのですが、
私の環境はapacheではなくIIS7.0なので、この設定をどこで行えば良いのかわかりません。

IISマネージャの「圧縮」の設定を確認すると
「動的なコンテンツの圧縮を有効にする」・・・動的なコンテンツの圧縮モジュールがインストールされていませんという警告があり、グレーアウトしています。
「静的なコンテンツの圧縮を有効にする」・・・チェックが入っていたので、外してみましたが結果は同じでした。

どなたかIISでflushを動作させるための設定をご存知の方がいらっしゃいましたら、教えて頂きたく投稿させて頂きます。

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



この質問にはまだ意見が寄せられていません。

<<質問一覧へ



Pick Up Q&A

Q
負荷時のmysql_connect()エラー
 このエントリーをはてなブックマークに追加 
A
これはPHPというよりOSまたはMySQLのコミュニティで質問されたほうがいいと思います。 ぱっと思いついた範囲で記すと MySQL等のDBに「ある時点において同時に接続可能なクライアントの最大数」に制限があるよう...

>>続きを読む

今回のような実践的な経験がエンジニアのキャリアに繋がると思います。是非サービスを成功させて下さい!

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)