设置Content-Length标头时,我在压缩PHP输出时遇到麻烦。在this very similar question of mine之后,似乎我已经缩小了问题的范围,即使没有在Apache的.htaccess
中定义输出压缩也是如此。
所以我正在使用Apache 2.4.18,.htaccess为空,在Apache配置中已注释掉AddOutputFilterByType DEFLATE text/html text/plain text/xml
,因为我希望压缩在PHP中进行。
我的最小PHP代码:
<?php
ini_set("zlib.output_compression", "On");
$output = "";
for ($i = 0; $i < 4000; $i++) {
$output .= "Foobar ";
}
// header("Content-Length: " . strlen($output));
header("Content-Type: text/html");
echo $output;
exit;
按原样工作,输出被压缩(按预期,如果我省略ini_set
调用,则不是这种情况。)
现在,如果我取消注释Content-Length
标头行,突然输出将不再压缩。
编辑:对于我来说,问题已解决,请参阅下面的评论。