2

我一直试图让我的服务器能够在睡眠后刷新回声或打印,但没有成功。我在 Windows 下使用 PHP 5.3.24。确实有几十个建议,我尝试过的几乎所有建议都没有奏效。这是一些我认为可能有效的代码:

ob_implicit_flush(true);
ob_end_flush();
for ($i=0; $i<10; $i++) {
   echo $i.'<br>';
   sleep(1);
}

此代码将在 9 秒内不执行任何操作,然后输出所有内容。

我努力了:

- 在页面顶部输出超过 1000 个字符,因为有人建议我缓存浏览器,

-添加标题('内容类型:文本/ html; charset = utf-8'); header("Cache-Control: no-cache, must-revalidate");header ("Pragma: no-cache");

- 使用冲洗();和 ob_flush(); 命令,

-made output_buffering = Off,zlib.output_compression = Off,和implicit_flush = Yes(或implicit_flush = On,见两个例子)在php.ini中,

-也试过@ini_set('zlib.output_compression',0); @ini_set('implicit_flush',1); @ob_end_clean(); 设置时间限制(0);

加上我可能忘记的其他人。

有什么我想念的吗?谢谢。

4

1 回答 1

1

看起来像浏览器缓存。试试这个(测试成功):

ob_implicit_flush(true);
ob_end_flush();
for ($i=0; $i<10; $i++) {
   echo $i.'<br>';
   echo str_repeat(' ', 1024);
   sleep(1);
}

这不是一个好的解决方案,但它证明了您必须将更多字符放入浏览器缓冲区。

于 2013-09-30T19:19:02.350 回答