ob_start不执行回调

Joh*_*een 7 php ob-start

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

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

ob_start('gzhandler_ex');
echo 'foo';
ob_flush(); 
Run Code Online (Sandbox Code Playgroud)

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

lon*_*day 9

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

function gzhandler_ex($buffer, $mode)
{
    return 'bar';
}
Run Code Online (Sandbox Code Playgroud)

此外,ob_flush()在脚本结束时调用是不必要的; 这是隐含的.