如何在Zend Framework中对响应进行"gzip"压缩?

4

我知道这段代码:

<?php if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) ob_start("ob_gzhandler"); else ob_start(); ?>

启用gzip压缩。但是,如何正确地将其应用于我所有的Zend Framework ViewLayout


你是否通过你的php.ini文件添加了该模块? - ohmusama
模块已安装。 - Chris Laplante
你有没有考虑让你的服务器处理这个问题(例如使用mod_deflate)? - Matthew Flaschen
我使用的是共享主机(GoDaddy),但我不确定他们是否支持它。 - Chris Laplante
3个回答

11

不要从PHP进行gzip压缩(这意味着只有生成的HTML内容将被压缩),您可以请求Apache为您进行压缩 - 使用其mod_deflate模块。

巨大的优势:它将允许您的服务器压缩HTML,当然...还有JS和CSS;这意味着访问您的站点时需要下载这些文件的用户将获得巨大的收益。


注意:如果您没有使用Apache,则其他Web服务器也有等效于mod_deflate的模块;-)


成功了!我能够使用这个指南启用它:http://community.godaddy.com/groups/dedicated-linux/forum/topic/how-to-enable-gzip-compression-with-apache/ - Chris Laplante
实际上最好使用这个链接: http://httpd.apache.org/docs/2.2/mod/mod_deflate.html - Chris Laplante
太好了 :-) (你在第二条评论中发的链接看起来有点像我在答案中放的那个 ^^) - Pascal MARTIN
1
是的;-)如果您启用JS和CSS的压缩,您可以期望相同类型的比率。 - Pascal MARTIN
我想要添加Google页面速度 http://code.google.com/speed/page-speed/docs/module.html - tawfekov
显示剩余2条评论

1

1

那段代码仍然可以在Zend Framework上运行,这是我使用的。此外,您不需要检查接受gzip头,因为ob_gzhandler()会自动检查。


谢谢。我只是对在Zend Framework中正确使用它的方法感到困惑。 - Chris Laplante

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接