0

我已将此代码添加到main.phpYii 上的配置文件中以压缩 html 标记

'preload'=>array('log'),
    'onBeginRequest' => create_function('$event', 'return ob_start("ob_gzhandler");'),  
    'onEndRequest' => create_function('$event', 'return ob_end_flush();'),

但我与 zlib 有冲突,我该如何解决?

ob_start(): output handler 'ob_gzhandler' conflicts with 'zlib output compression'
4

3 回答 3

3

你最好在 yii 级别缩小html 代码

通过在 .htaccess 中使用这样的段将 gzip 压缩到 apache

<IfModule deflate_module>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript text/css application/json application/javascript

# 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 \bMSIE !no-gzip !gzip-only-text/html

# Do NOT compress localhost
#SetEnvIf Remote_Host 127.0.0.1 no-gzip

# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</IfModule>
于 2012-07-19T22:21:57.363 回答
1

这是 PHP 5.4 的一个错误:https ://bugs.php.net/bug.php?id=62335

您可能需要禁用zlib类似的东西:

<?php ini_set('zlib.output_compression', 'Off'); ?>
于 2012-07-19T16:27:00.310 回答
0

用于 Apache 的 Google pagespeed 模块与我一起使用,它预装在 dreamhost 和一些虚拟主机上:

https://developers.google.com/speed/pagespeed/module

于 2015-01-13T15:03:40.497 回答