私は自分が行っているプロジェクトでPHPのflush()関数に慣れようとしていますが、私はいくつかのスクリプトを自分で書いて、自分のウェブスペースにアップロードしました。しかし、彼らのどれも働いていないように見えました。私はPHP.netのコメントから以下のものを取り上げて試しました。PHPのflush()は私のLinuxマシンでは動作しますが、Windowsマシンでは動作しません。
<?php
header('Content-type: text/html; charset=utf-8');
echo 'Begin ...<br />';
for($i = 0 ; $i < 10 ; $i++)
{
echo $i . '<br />';
flush();
sleep(1);
}
echo 'End ...<br />';
明らかにスクリプトSTILLは機能していませんでした。
は、私はその後言ったコメントを読んで:
あなたは(ob_flush呼び出す)と、まだ(フラッシュ)とは、バッファは、いくつかのウイルス対策ソフトウェア(この場合はパンダ)が保持しているため、それはあるかもしれないフラッシュを取得いけない場合ページがロードされてブラウザに送信されるまでバッファリングします。
私はLinux(Ubuntu 12.04)を使用しているマシンで、アンチウイルスソフトウェアをインストールしていないため、Webページをリクエストすることにしました。それは完璧に働いた!
これはウイルス対策ソフトウェアとは関係ありませんか? Windowsのflush()が意図した目的を達成できないという奇妙なメカニズムがあるので、私は両方のマシン(Firefox 14.0.1)で同じブラウザを使用しています。
私は本当に疑問に思っています。アンチウイルスソフトウェアについて知っている人は誰ですか?flush()が意図した目的を達成できないようにしていますか?もしそうなら、それを回避する方法はありますか?
EDIT:私はこれがサーバー側ではないことを肯定しています。Linuxを実行する外部Webサーバーがあります。これらのスクリプトは、LinuxまたはWindowsマシンのどちらでもローカルにホストしていません。
EDIT2:私はLinuxノートパソコンの友人の家の周りでこれを試してみました。私の家で働くことはできました。不思議なことに、フラッシュコードも自分の家では機能しませんでした。私の家のこのノートパソコンで動作するので不思議なことです)、ルーターがflush()関数の動作と何か関係があるかどうかはわかりません(私は本当にWeb上でこれについて何も見つけることができません)それは私がそれを妨害するかもしれないと考えることができる唯一のものだからです。
それ以外の場合は、私自身はこれを回避しようとしていませんが、これは間違いなくサーバ側とは関係ありません。私が見つけたと思われるほとんどの情報は、/
私はまた、私の家でNorton(AVGではなく)を実行しているPCでこれを試しましたが、それは100%ではありませんでした。
私はこれは間違いなくしかし、クライアント側ではなくサーバ側で知って、同じページには、LinuxでFirefoxでレンダリングされたときに完全に働いていますが、Windowsの下で罰金ではありません。これは私がこれをブラウザ関連の問題ではないと思うように導く。 。 。それはその引用のすべての説明を排除しているようです:/ – Sean
@SeanDunwoody:それはサーバー側ではないことをどうやって知っていますか?サーバーは、各OSの下で異なるプログラムです。同じことがブラウザにも当てはまります。 – Jon
いや、申し訳ありません私はあなたが誤解だと思う、私はこの実行中のLinuxをホストしているサーバーを持って、私はどちらかのマシン – Sean