可以使用什么来代替导致ob_start("ob_gzhandler");
的{{1}}?
我认为,有些问题之前提出了相关和/或有用的问题:
"Unknown" PHP error - what is that supposed to mean?
PHP warning: headers already sent in Unknown
答案 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()
函数会导致同样的错误吗?