【发布时间】:2009-07-13 18:26:39
【问题描述】:
有没有办法检查我的托管服务提供商是否启用了 mod_gzip?网站上的任何信息都没有提到它,也没有论坛可以就这个问题联系其他人。 谢谢。
【问题讨论】:
有没有办法检查我的托管服务提供商是否启用了 mod_gzip?网站上的任何信息都没有提到它,也没有论坛可以就这个问题联系其他人。 谢谢。
【问题讨论】:
您可以使用 PHP 的 apache_get_modules 或 phpinfo 进行检查。
如果你想压缩你的输出,你可能想试试output buffer handler ob_gzhandler。它会自动确定浏览器将接受哪种类型的内容编码(“gzip”、“deflate”或根本不接受),并将相应地返回其输出。只需将ob_start('ob_gzhandler') 放在脚本文件的开头(在输出任何内容之前),剩下的就交给它了。
或者你只需使用Apache’s mod_deflate,它甚至可以压缩直接传递给客户端的静态文件。
【讨论】:
如果您将一个很小的 PHP 文件上传到您的服务器,其中包含以下内容,您可以看到 phpinfo 的所有输出。很多有趣的细节。
<?php
phpinfo();
?>
在页面中搜索“加载的模块”应该会显示所有加载的模块。还要寻找mod_deflate,因为这似乎更常见(无论如何都安装了 Apache 2.0)。表现? gzip 可能会更压缩,deflate 可能会更快。
【讨论】:
Accept-Encoding 头域是一个请求头域(见w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.3)。它告诉客户端接受什么编码,而不是服务器支持什么编码。
看完上面的答案,我输入了命令行
php -r "phpinfo();" | grep gzip
它返回了
gzip compression => enabled
甜!
【讨论】: