什么可以用来代替ob_start(“ob_gzhandler”);

时间:2011-01-10 22:49:16

标签: php header buffer

可以使用什么来代替导致ob_start("ob_gzhandler");的{​​{1}}?

我认为,有些问题之前提出了相关和/或有用的问题:
"Unknown" PHP error - what is that supposed to mean?
PHP warning: headers already sent in Unknown

3 个答案:

答案 0 :(得分:2)

对我(最后)有用的是将zlib.output_compression放在php.ini中并将其设置为ON,成功替换ob_start("ob_gzhandler");

答案 1 :(得分:0)

只需将ob_start("ob_gzhandler") 放在PHP语句链的开头即可。如果PHP发出该警告,则意味着此调用不在开始。

答案 2 :(得分:0)

如果您只想要一些替代方案,可以在php.ini中设置:

zlib.output_compression = On

http://www.php.net/manual/en/zlib.configuration.php

如果您的PHP作为Apache模块运行,则在.htaccess中:

php_flag zlib.output_compression On

在这里,您可以使用<Files><FilesMatch>指令将压缩限制为所需的文件。

实际上您也可以在PHP脚本中设置此属性,但我认为它不起作用:ini_set('zlib.output_compression', 'On') ...


调试问题:如果您在header('X-something: x');之前设置ob_start()header()函数会导致同样的错误吗?