我有一个大约需要400秒才能完成的脚本。我也正在使用此函数输出日志,因为脚本循环执行某些任务。
function CLI_LOG($message){
echo $message."\n";
ob_end_flush();
ob_flush();
flush();
ob_start();
}
在我的script.php
的顶部,我有ob_start();
这在浏览器中运行良好!虽然我在命令行上使用
运行它 php -f script.php
每次我使用该功能时,我都会收到这两个错误
Notice: ob_flush(): failed to flush buffer. No buffer to flush in script.php on line 127
PHP Notice: ob_flush(): failed to flush buffer. No buffer to flush in script.php on line 127
第127行保存了这段代码
ob_flush();
我甚至试图使用error_reporting(0);
和error_reporting(E_ALL & ~E_NOTICE);
来阻止这些错误而没有运气?
答案 0 :(得分:1)
在ob_end_flush()之后执行ob_flush()但ob_end_flush()已经结束缓冲区...所以你没有更多的缓冲区。
function CLI_LOG($message){
echo $message."\n";
ob_flush();
flush();
}
如果你不结束前一个缓冲区,则无需启动另一个缓冲区。