我嗅探了我的网站的响应标题,显然没有使用http压缩来传递响应,因为我在响应头中没有看到Content-Encoding:gzip。
但奇怪的是,phpinfo()显示我HTTP_ACCEPT_ENCODING:gzip,deflate,sdch
即时通讯使用rackspace云网站(共享主机,无法访问httpdconfig),我真的想激活http压缩,但那里的支持人告诉我,如果phpinfo()说,它已经上。
谢谢。!
HTTP_ACCEPT_ENCODING表示浏览器接受这些编码。 这并不意味着服务器正在sending这些编码 – 这是一个客户端头。
你应该做的是将这个PHP代码添加到任何想要使用压缩的PHP文件中:
<?php ob_start("ob_gzhandler"); ?>
通常情况下,所有文件都包含头文件,数据库configuration文件就是一个很好的例子。 只要在你的程序执行print()或echo()之前添加这行代码,那么你就是黄金。
这将缓冲PHP页面生成的所有输出,然后在将其发送到浏览器之前将其压缩。 如果您只是提供平面html文件,那么您可以编写一个简单的PHP访问页面来阅读.html文件并打印它:
<?php ob_start("ob_gzhandler"); print(file_get_contents("./html/somefile.html")); ?>