我在Linux系统上使用Apache 2.2.1和PHP 5.3.8。
我需要在通话开始时刷新标题,但浏览器会一直等到完整内容发送完毕。
在命令行中,使用“php test.php”一切都按预期工作,但不会在涉及到apache时立即生效。
我尝试了一切。设置output_buffer = Off,zlib.output_compression = Off,禁用mod_deflate,SendBufferSize 512.我在php中也使用了所有不同的flush方法。但正如我所说,在命令行上它工作正常。
以下是响应标题:
我删除了每个模块,除了这些:
我希望有人可以帮助我
答案 0 :(得分:1)
很可能Apache正在刷新,但是即使在收到初始刷新数据之后,浏览器也会决定继续缓冲(而不是开始渲染)。
flush()
可能无法覆盖您网络的缓冲方案 服务器和它对任何客户端缓冲没有影响 浏览器强>
除了浏览器特定的黑客之外,没有什么可以做的,比如发送大量的空白(几年前我不得不诉诸),让浏览器“重新考虑”。
答案 1 :(得分:0)
您应该尝试使用其他content-type
或不使用content-type
发送该页面。在我们的服务器中,我们遇到了类似的问题,我们发现当mod_security
是html时,content-type
会阻止刷新。