关注my previous question,我认为我已将问题缩小到瓶颈:
当网络服务器(apache)自动压缩之后的输出时,如何为PHP中的可下载文件设置Content-Length
标头的正确值?
我正在寻找最强大/通用的解决方案。我不太了解输出压缩,但我认为apache有几种可以使用的压缩算法(gzip等?)。因此,从PHP中,我如何自动发现Web服务器使用的压缩,以及如何使用它为文件的文件大小设置正确的Content-Length
标头值(在压缩之后)?
答案 0 :(得分:5)
您不需要指定 Content-Length ,Apache会为您做到这一点。
答案 1 :(得分:0)
也许cletus在 this question 的回答有帮助。
另外,您确定要使用gzip提供下载服务吗? Zipping对于HTML,CSS和JS内容非常有意义,但是如果文件下载量很大,我会将其关闭。
答案 2 :(得分:0)
好的,所以这里的情况是您发出文件下载。我敢打赌,该文件已被压缩以节省一些带宽。
无论如何,如果你的服务器有任何压缩活动,这是不好的,因为它花费时间,因为服务器无法实现更好的压缩,所以为了加快速度,你应该禁用任何文件下载的输出压缩。
试试这些:
apache conf的php.ini
output_buffering = Off
output_handler =
zlib.output_compression =关