警告:ob_start()[ref.outcontrol]:输出处理程序'ob_gzhandler'与zlib输出压缩冲突'

时间:2013-02-26 06:12:42

标签: php apache gzip zlib

我正在使用Gzip commpression和Zlib commpression加速我的网站

我使用了以下代码

ob_start("ob_gzhandler"); 在所有页面上包含的公共文件中

lib.output_compression = On

但在此之后我得到了像

这样的错误
"Warning: ob_start() [ref.outcontrol]: output handler 'ob_gzhandler' conflicts with 'zlib output compression' in E:\xampp\htdocs\projects\trunk\index.php on line 2"

任何人都可以告诉我它有什么问题吗?

6 个答案:

答案 0 :(得分:4)

在php.ini文件中搜索以下行:

zlib.output_compression = On

更改为:

zlib.output_compression =关

答案 1 :(得分:4)

你应该检查是否加载了zlib库,然后通过ob_end_clean()清除关闭输出缓冲
您可以在文件顶部添加此行: <?php if (extension_loaded('zlib')){ ob_end_clean(); ob_start('ob_gzhandler');} ?>

答案 2 :(得分:0)

在你的php.ini中,搜索'zlib'并切换到On

答案 3 :(得分:0)

建议:不要使用PHP Zlib压缩,将其关闭

但请尝试启用输出缓冲

这有助于处理HTML立即开始缓冲而无需等待..这有助于加快一些mili secs。

对于普通的HTML代码,不要使用过多的PHP回显。

使用

  • Webserver Gzip压缩
  • 缩小HTML输出
  • 使用Opcache和静态缓存生成器加速您的网站100%收益。

答案 4 :(得分:-1)

它是一样的。你只需要做其中一个,而不是两个。

答案 5 :(得分:-2)

我遇到了同样的问题,你的回答非常有帮助。

在php.ini文件中搜索以下行:

zlib.output_compression = On

更改为:

zlib.output_compression =关

但是我无法弄清楚php.ini文件或zlib的位置。 我休息了几天,从一个新的角度看了上面的内容。我的托管服务提供商是“Hostinger”http://api.hostinger.in/redir/21246281他们使用新的控制面板,您将在此处访问PHP配置: 对于cpanel用户,我会根据需要提供更新。

以下是Hostinger面板上php配置页面的示例:

PHP配置

  

PHP版

PHP 5.2
 PHP 5.3
 PHP 5.4
 PHP 5.5
 PHP 5.6
 PHP 7.0
选择要为您的帐户启用的PHP版本。

  

Zlib压缩

<强>已启用
已停用

是否透明地压缩页面。如果在php.ini中将此选项设置为“On”,则在浏览器发送“Accept-Encoding:gzip”或“deflate”标头时会压缩页面。 “Content-Encoding:gzip”(分别为“deflate”)和“Vary:Accept-Encoding”标头被添加到输出中。在运行时,只能在发送任何输出之前设置它。

  

显示错误

Enabled / Disabled这确定是否应将错误作为输出的一部分打印到屏幕上,或者是否应该向用户隐藏错误。 最大输入变量

以下是php configure管理面板页面的一个示例,只是进行更改。希望这对某人有用。 goodloktimes@gmail.com