使用 IIS 禁用单个 php 文件的 Gzip 压缩
Posted
技术标签:
【中文标题】使用 IIS 禁用单个 php 文件的 Gzip 压缩【英文标题】:Disable Gzip compression for single php file with IIS 【发布时间】:2011-07-11 17:23:28 【问题描述】:我有一个在 Internet 上似乎不太常见的配置(带有 IIS 的 php),因此到目前为止我还没有找到解决我的问题的方法。
基本上当我在我的 php 页面上发送手动 404 标头时:
header('HTTP/1.0 404 Not Found');
问题是我总是遇到编码错误,我确定这与启用 gzip 有关。
当我使用 --compressed 卷曲时,我得到:
HTTP/1.1 404 Not Found
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 3560
Content-Type: text/html
Content-Encoding: gzip
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Vary: Accept-Encoding
Server: Microsoft-IIS/6.0
Set-Cookie: PHPSESSID=b0ueqhtc3o4p7m2luqss170fr3; path=/
Date: Mon, 11 Jul 2011 16:15:40 GMT
curl: (61) Error while processing content unencoding: invalid code lengths set
是否可以仅针对这一页禁用压缩?还是我缺少其他解决方案?我不想为整个网站禁用压缩。
【问题讨论】:
【参考方案1】:这很简单,只需像这样使用ini集合:
<?php
if(ini_get('zlib.output_compression'))
ini_set('zlib.output_compression', 'Off');
header('HTTP/1.0 404 Not Found');
?>
就这么简单。
【讨论】:
我的英雄!我看到一堆东西说 ini_set 不适用于该设置,我想我只是相信他们没有实际尝试...... NP 我很高兴它对你有用,就像输出压缩一样,在 windows / php 环境中你会发现很多东西。适用于 1000 种其他设置(例如您的设置,但不适用于您的设置)的东西,反之亦然,您只需要反复试验即可。 Windows IIS 和 PHP 之间实际上有数千种配置,它们甚至可以禁用/启用最基本的功能,让你发疯。以上是关于使用 IIS 禁用单个 php 文件的 Gzip 压缩的主要内容,如果未能解决你的问题,请参考以下文章