我遇到了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)
我以前从未见过这个,但我通常不会使用这样的回调.
您的处理函数应该return是您要输出的内容,而不是回显它.
function gzhandler_ex($buffer, $mode)
{
return 'bar';
}
Run Code Online (Sandbox Code Playgroud)
此外,ob_flush()在脚本结束时调用是不必要的; 这是隐含的.