php - 如何启用 gzip?

标签 php apache .htaccess gzip

我找到了一些关于如何启用 gzip 的教程,但似乎对我没有任何帮助,所以我的问题是如何启用 gzip。我在一个共享的 Dreamhost 托管服务器上,它正在运行 PHP 5.2 版和 Apache,从 php 信息中我找到了这一行,也许这会有帮助?

zlib

ZLib Support    enabled
Stream Wrapper support  compress.zlib://
Stream Filter support   zlib.inflate, zlib.deflate
Compiled Version    1.2.3.3
Linked Version  1.2.3.3

Directive   Local Value Master Value
zlib.output_compression Off Off
zlib.output_compression_level   -1  -1
zlib.output_handler no value    no value

我也找到了这条线

_SERVER["HTTP_ACCEPT_ENCODING"] gzip, deflate

不知道跟这个有没有关系。但这是我的第一个问题,其次,我有保管箱,托管一个 javscript 文件,我想知道是否可以对该文件进行 gzip 压缩,它没有被压缩传输,那么有什么办法可以这样做吗?

最佳答案

您是否尝试过 ob_gzhandler ?

<?php ob_start("ob_gzhandler"); ?>
<html>
  <body>
    <p>This should be a compressed page.</p>
  </html>
<body>

作为替代方案,您可以使用 Apache Web 服务器添加 a DEFLATE output filter到您的顶级服务器配置,或到 .htaccess 文件:

<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml \
        text/css application/x-javascript application/javascript
</IfModule>

提示:有时检测 Web 服务器是否正在发送压缩内容非常棘手。 This online tool可以帮忙。

在我的网络浏览器中使用开发人员工具,我测试了一个压缩和不压缩的 PHP 文件以比较大小。就我而言,差异是 1 MB(未压缩)和 56 KB 压缩。

关于php - 如何启用 gzip?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4709076/

相关文章:

php - 从 Web 根目录的子目录中的 CodeIgniter URL 中删除 index.php

php - 使用 SQL 将整数转换为时间值

java - 为什么在运行时找不到公共(public)类?

apache - 使用 .htaccess 匹配重写规则中的问号

wordpress - .htaccess 和 wordpress 301 重定向不在批准的 IP 地址列表中的每个人?

php - mySQL 语法问题

PHP 验证 PayPal 捐赠

linux - 如何从 Apache 调用 shell 脚本?

php - Debian 服务器上的 Apache 连接到 extern mysql

.htaccess - HTTPS 与 HTTP 缓存 Javascript 文件?