PHP 禁用 zlib.output_compression

PHP disable zlib.output_compression

我的站点在 ini 文件中将 zlib.output_compression 设置为 On,它会在发送到浏览器时压缩所有响应。

如何仅对二进制文件、PDF 文件和 excel 文件禁用压缩,以便在下载文件时正确输出到浏览器?

zlib.output_compression = on/off

并在 PHP

ini_set("zlib.output_compression", "On");
ini_set("zlib.output_compression", "Off");

检查这个以了解更多详细信息 - http://php.net/manual/en/zlib.configuration.php#ini.zlib.output-compression

在您的服务器中使用 .conf 文件,将压缩限制为正确的 MIME 类型

例如 /etc/httpd/conf.d/enable_mod_deflate.conf:

# mod_deflate configuration
<IfModule mod_deflate.c>
  # Restrict compression to these MIME types
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE text/xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE application/xml+rss
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE image/png
  AddOutputFilterByType DEFLATE image/gif
  AddOutputFilterByType DEFLATE image/jpeg

  # Level of compression (Highest 9 - Lowest 1)
  DeflateCompressionLevel 9

  # Netscape 4.x has some problems.
  BrowserMatch ^Mozilla/4 gzip-only-text/html

  # Netscape 4.06-4.08 have some more problems
  BrowserMatch ^Mozilla/4\.0[678] no-gzip

  # MSIE masquerades as Netscape, but it is fine
  BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

  <IfModule mod_headers.c>
    # Make sure proxies don't deliver the wrong content
    Header append Vary User-Agent env=!dont-vary
  </IfModule>
</IfModule>

别忘了重启服务器

sudo service httpd restart