如何使用zlib和zpipe.c压缩我的.php站点

时间:2012-05-03 12:48:16

标签: compression zlib deflate

我在压缩网站时遇到问题。我的主机(www.one.com)不支持gzip,因此我就其他任何压缩网站的方式与他们联系。首先,我与一位告诉我无法完成的支持者进行了交谈,因为他们的服务器是使用zlib设置的。所以我用谷歌搜索zlib,并在那里有关于这个问题的一些提示。

我尝试添加:

php_flag zlib.output_compression on
php_value zlib.output_compression_level 5

到我的.htaccess文件,导致浏览器呈现:“内部服务器错误”。

然后我再次尝试与他们交谈,这次我指向了这个网站:http://www.zlib.net/zlib_how.html

问题是我之前没有遇到过zlib和zpipe.c。我试图谷歌它,并环顾不同的论坛,但我不明白。 任何人都可以给我一些关于如何使其工作的指示?我如何实现zpipe.c?我在这里是一个完整的菜鸟,所以我会欣赏一步一步的指导。

我的网站是在.php中写的

2 个答案:

答案 0 :(得分:2)

我就是这样做的,我使用one.com作为托管公司。

我将此行添加到我的索引文件中:

 <?php
    ini_set("zlib.output_compression", "On");
    ini_set("zlib.output_compression_level", "-1");
    ?>

这在我的整个网站上增加了压缩:) myvotebooth.com

然后我将其添加到我的.htaccess文件中

<IfModule mod_deflate.c>
<FilesMatch "\.(js|css|html)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>

通过这样做我得到一个响应标题:

Web page compressed?    Yes
Compression type?   gzip
Size, Markup (bytes)    11,329
Size, Compressed (bytes)    3,187
Compression %   71.9

我还尝试压缩更多-2 -3 -4 -5但one.com只允许-1

答案 1 :(得分:0)

  

首先,我和一位告诉我无法完成的支持者进行了交谈,   因为他们的服务器是用zlib设置的。

听起来他们不知道他们在谈论什么。你使用什么http服务器? Apache的?无论是什么,它都应该支持使用gzip或“deflate”内容编码对html进行预压缩。您需要找到支持您的服务器的人,知道他们正在谈论。

zlib是一个压缩例程库,可以压缩为gzip或“deflate”内容编码。

我继续将deflate放在引号中的原因是HTTP标准将zlib格式称为“deflate”。它有时会与原始deflate混淆,因此你应该总是使用gzip进行http传递,因为在这种情况下没有歧义。

更新

由于您使用的是Apache,因此您可以在没有托管公司帮助的情况下使用它。您可以将Apache directives to mod_deflate放在.htaccess文件中。这是一个example