php开启gzip压缩的三种可靠方法

WBOY
풀어 주다: 2016-07-25 08:58:56
원래의
1551명이 탐색했습니다.
  1. output_buffering = Off
复制代码

3,php.ini为

  1. ;output_handler = ob_gzhandler
  2. zlib.output_compression = Off
  3. ;zlib.output_compression_level = -1
复制代码

4,apache增加如下:

  1. AddOutputFilter DEFLATE html php js css
复制代码

方法2,使用php.ini中的zlib.output_compression 1,关闭apache中的mod_deflate.so 2,php.ini:

  1. output_buffering = On
复制代码

2,php.ini为

  1. ;output_handler =
  2. zlib.output_compression = Off
  3. zlib.output_compression_level = 6(等级-1至9,默认为6即可)
复制代码

方法3,用php的内置函数ob_gzhandler(必须保证extension中安装并开启了php_zlib.dll) 1,关闭apache中的mod_deflate.so 2,php.ini为

  1. output_handler = ob_gzhandler
  2. zlib.output_compression = On
  3. ;zlib.output_compression_level = -1
复制代码

说明: 在方法三中,如果使用了php.ini中设置output_handler=ob_gzhandler,那么程序中就不需要再加ob_start('ob_gzhandler'); 否则会双重压缩,实际上就是报错,一般程序会加以判断。

设置php.ini为默认关闭,程序中增加,但是如果是自己服务器,就设置ini默认开启。 建议使用第1种或者第2种:(特别建议使用第1种) 此时ob_start()可以自定义函数,写法如:ob_start("compress_html"); 即可压缩html格式:

  1. function compress_html($buffer){//去除文件中的注释
  2. $pattern=array("/> *([^ ]*) *","//","'/\*[^*]*\*/'","/[\s]+/","/\r\n/","/\n/","/\t/");
  3. $replace=array(">\\1return ltrim(rtrim(preg_replace($pattern,$replace,$buffer)));
  4. }
复制代码

如此之后,不仅可以压缩html格式(也可以使用gzip)。

方法1的完整配置方案: 1,打开apache中的mod_deflate.so 2,php.ini为

  1. output_buffering = Off
复制代码

3,php.ini为;

  1. output_handler = ob_gzhandler
  2. ;zlib.output_compression = Off
  3. ;zlib.output_compression_level = -1
复制代码

4,apache增加如下:

  1. AddOutputFilter DEFLATE html php js css
复制代码

在需要压缩html格式的php头部使用如下程序:

  1. ob_start("compress_html");//需要将php.ini中的zlib.output_compression开启
  2. function compress_html($buffer){//去除文件中的注释
  3. $pattern=array("/> *([^ ]*) *","//","'/\*[^*]*\*/'","/[\s]+/","/\r\n/","/\n/","/\t/");
  4. $replace=array(">\\1return ltrim(rtrim(preg_replace($pattern,$replace,$buffer)));
  5. }
复制代码

如此便开启了php的gzip压缩功能,而且支持浏览器查看源文件时html自动压缩格式化,很好用的哦。 开启gzip压缩吧,特别对于资金不足的小站长们,带宽都是白花花的银子啊。



원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!