【问题标题】:IE 9 hangs when server replies with a huge response当服务器回复大量响应时,IE 9 挂起
【发布时间】:2014-02-02 11:03:50
【问题描述】:

我正在测试我编写了一个 php 脚本的下载功能。该脚本使用 fopen 和 fread 读取一个大文件 (10MB)。使用 fread 我正在读取缓冲区中的 10MB 块,我正在回显该缓冲区,然后使用 flush 和 ob_flush 函数将其刷新。这样客户端接收到这个缓冲区,我就可以检查接收到的字节数。这在 Chrome、FireFox 和 IE 8 中运行良好,但是当我在 IE 9 中对其进行测试时,浏览器挂起并且我无法获得正确的下载字节。 有人可以建议我们可以用来测试的其他选项吗?

  define('CHUNK_SIZE', 1024*10240);
  $handle=fopen("10MBFile", 'rb');
  $buffer=fread($handle, CHUNK_SIZE);
  echo $buffer;
  ob_flush();
  flush();

注册表

【问题讨论】:

  • 你用apache在本地测试它吗?因为这个和 IE9+ 有一个已知的错误

标签: php internet-explorer


【解决方案1】:

我在使用 IE9+ 和 apache 时遇到了很多奇怪的问题,可以通过将这些东西添加到 httpd.conf 来解决它:

# Deal with user agents that deliberately violate open standards
#
<IfModule setenvif_module>
BrowserMatch "MSIE 10.0;" bad_DNT
</IfModule>
<IfModule headers_module>
RequestHeader unset DNT env=bad_DNT
</IfModule>
AcceptFilter https none 
AcceptFilter http none 
EnableSendfile Off 
EnableMMAP off

【讨论】:

  • 浏览器缓冲区缓存有什么问题吗?因为其他浏览器不会发生这种情况
  • 我不确定,实际上无法跟踪它。只是值得一试。我因这些挂起而失去了一周的时间,并找到了有帮助的解决方案,但实际上它是其他问题的解决方案。
  • 您能否具体说明问题所在以及解决方法是什么?
  • 检查这个apache.igor.onlinedirect.bg//httpd/binaries/win32 下面有一个Problems Installing or Running Apache 2 提到文件上传问题。请注意,Apache 2.4 没有 Win32DisableAcceptEx 它已被弃用
猜你喜欢
  • 2022-01-17
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 2016-04-01
  • 1970-01-01
  • 2015-06-21
  • 1970-01-01
相关资源
最近更新 更多