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

WBOY
Freigeben: 2016-07-25 08:58:56
Original
1551 Leute haben es durchsucht
  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压缩吧,特别对于资金不足的小站长们,带宽都是白花花的银子啊。



Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!