php gzip 关闭,Thinkphp 关闭Gzip header输出问题

在ThinkPHP框架中遇到一个问题,由于框架默认开启GZIP压缩,导致在Action里通过header输出图片时出现问题。文章讨论了这个问题,并指出在尝试关闭页面压缩缓存后成功解决了问题。对于涉及GZIP、页面输出和header函数的开发者具有参考价值。
摘要由CSDN通过智能技术生成

Thinkphp默认开启gzip压缩

'OUTPUT_ENCODE' => true, // 页面压缩输出

需求是这样的

在一个Action里面,用header输出一个图片

问题

由于thinkphp使用了Ob_start

// 页面压缩输出支持 if(C('OUTPUT_ENCODE')){ $zlib = ini_get('zlib.output_compression'); if(empty($zlib)) ob_start('ob_gzhandler'); }

导致如今的问题

if(C('OUTPUT_ENCODE')){ ob_flush(); ob_clean(); } $thumburi = 'Thumb/666.jpg'; $type = getimagesize($thumburi); header("Content-type: ". $type['mime']); readfile($thumburi); die();

无法用header输出图像,一整天了,仍然没有解决,哪位有高见解惑?

注:不能关闭页面压缩缓存!!

回复讨论(解决方案)

第三段代码是你自己写的么?

依然开启了 gzip 方式传递,那么你再改变传输类型,不是找抽吗?

还开了GZIP? 对ob这类函数实在搞晕了,那我这段该怎样关闭?

第三段代码是你自己写的么?

依然开启了 gzip 方式传递,那么你再改变传输类型,不是找抽吗?

还开了GZIP? 对ob这类函数实在搞晕了,那我这段该怎样关闭?

没找到解决方法,最后关闭分组的页面压缩缓存了

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值