ob_start不执行回调

时间:2011-05-15 10:56:16

标签: php ob-start

我遇到了ob_start的问题。不知道这笔交易是什么,但我已经把它归结为最简单的测试案例......但仍无济于事。我希望这段代码能够输出'bar'到stdout,但是我什么也没收到,错误日志中没有错误。

<?php
function gzhandler_ex($buffer, $mode)
{
    echo 'bar';
}

ob_start('gzhandler_ex');
echo 'foo';
ob_flush(); 

我以前从未见过这个,但我通常不会使用这样的回调。

1 个答案:

答案 0 :(得分:9)

您的处理程序函数应该return您要输出的内容,而不是回显它。

function gzhandler_ex($buffer, $mode)
{
    return 'bar';
}

此外,在脚本末尾调用时,ob_flush()是不必要的;这是隐含的。