我遇到了ob_start的问题。不知道这笔交易是什么,但我已经把它归结为最简单的测试案例......但仍无济于事。我希望这段代码能够输出'bar'到stdout,但是我什么也没收到,错误日志中没有错误。
<?php
function gzhandler_ex($buffer, $mode)
{
echo 'bar';
}
ob_start('gzhandler_ex');
echo 'foo';
ob_flush();
我以前从未见过这个,但我通常不会使用这样的回调。
答案 0 :(得分:9)
您的处理程序函数应该return
您要输出的内容,而不是回显它。
function gzhandler_ex($buffer, $mode)
{
return 'bar';
}
此外,在脚本末尾调用时,ob_flush()
是不必要的;这是隐含的。