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

1,

output_buffering = Off

2,php.ini为

;output_handler = ob_gzhandler

zlib.output_compression = Off

;zlib.output_compression_level = -1

3,apache增加如下:

AddOutputFilter DEFLATE html php js css

方法2

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

output_buffering = On

2,php.ini为

;output_handler =

zlib.output_compression = Off

zlib.output_compression_level = 6(等级-1至9,默认为6即可)

方法3

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

output_handler = ob_gzhandler

zlib.output_compression = On

;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格式:

function compress_html($buffer){//去除文件中的注释

$pattern=array(“/> *([^ ]*) *”,”//”,”‘/\*[^*]*\*/'”,”/[\s]+/”,”/\r\n/”,”/\n/”,”/\t/”);

$replace=array(“>\\1

return ltrim(rtrim(preg_replace($pattern,$replace,$buffer)));

}

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

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

output_buffering = Off

3,php.ini为;

output_handler = ob_gzhandler

;zlib.output_compression = Off

;zlib.output_compression_level = -1

4,apache增加如下:

AddOutputFilter DEFLATE html php js css

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

ob_start(“compress_html”);//需要将php.ini中的zlib.output_compression开启

function compress_html($buffer){//去除文件中的注释

$pattern=array(“/> *([^ ]*) *”,”//”,”‘/\*[^*]*\*/'”,”/[\s]+/”,”/\r\n/”,”/\n/”,”/\t/”);

$replace=array(“>\\1

return ltrim(rtrim(preg_replace($pattern,$replace,$buffer)));

}

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

本文来自投稿,不代表博客主立场,如若转载,请注明出处:https://www.bokezhu.com/2018/07/18/98.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值