30421


さくらインエーネットのレンタルサーバにて下記のサイトのサンプルを実現したいです。

[[SOLVED] Flush(), ob_flush() not working in PHP (Disabling gzip through
htaccess) | Absolutely Tech](http://www.absolutelytech.com/2010/01/31/solved-
flush-ob_flush-not-working-in-php-disabling-gzip-through-htaccess/)

[code]

    <?php
    include('common.php');
    ini_set('output_buffering','on');
    ini_set('zlib.output_compression', 0);
    //ini_set('implicit_flush',1);
    ob_implicit_flush();
    for($i=0;$i<10;$i++) {
          echo $i;
          echo str_repeat(" ", 500);
          ob_flush();
          flush();
          sleep(1);
    }
    ?>
    
[/code]

このサンプルで期待される処理結果は、  
1秒間隔で 0→01→012→0123→・・・→0123456789 と1桁ずつカウントアップされて表示されていくという動きになります。

このサンプルをさくらレンタルサーバで実行した場合、  
10秒間遅延が発生した後、画面に0～9の文字が一気に表示されるという期待とは異なる処理が行われました。

ちなみに、サンプルでは”gzip
compression”を無効化する事で実現が可能だという風に示されておりますが、色々調べて、試みたものの、さくらインターネットでgzip
compressionを無効化する事ができませんでした。

例えば、.htaccessに

[code]

    SetEnv no-gzip dont-vary
    
[/code]

と記載してもダメでしたし、他にも以下のサイトに記載されている設定を試してみたのですがダメでした。  
[I am not able to disable gzip](http://community.sitepoint.com/t/i-am-not-
able-to-disable-gzip/6486)

その他以下のサイトも参考にして、"ob_end_flush()","ob_start('mb_output_handler')"等の対策も試してみましたがうまく行かず。。。  
PHPでプログレス表示を行うには？（tp://www.enbridge.jp/blog/2007/08/17232951.php）

また、さくらのレンタルサーバはApacheの設定は変更できないので、Apacheサイドからのアプローチは試みておりません。

なお、ローカル環境（XAMP）では期待した結果が表示されました  
（ただ、XAMPはgzip compressionがenableになっているのですが・・・）。

さらに、さくらのVPSでも正常に動作することを確認しました。

どのような設定を行えば前述したサンプルが期待通りに動くのかわからない状態です。。

ご存じの方がおられましたらご教示のほどよろしくお願いいたします。


CC BY-SA 3.0
2015-11-11T00:54:36.647
18645
2016-11-15T10:09:49.227
2015-11-17T04:46:35.597
13206
13206
question
php apache .htaccess
さくらインターネットのレンタルサーバで遅延処理後に随時echo内容を画面表示させたい


@TugrebIc様の回答で解決できましたので引用させてもらいます。

> ウェブアプリケーションファイアウォールとしてSiteGuardと言うのが使えるようですが、これが有効になっている可能性は‌​ありませんか？
> リバースプロキシ型らしいので、有効になっていればキャッシュされてしまうと思います。


CC BY-SA 3.0
2016-11-15T09:01:23.027
30421
2016-11-15T10:09:49.227
2016-11-15T10:09:49.227
5519
13206
18645
answer