我有一个大约需要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);
来抑制这些错误,但运气不好?
在ob_end_flush()之后执行ob_flush。。。所以你没有更多的缓冲区。
function CLI_LOG($message){
echo $message."'n";
ob_flush();
flush();
}
如果不结束前一个缓冲区,则无需启动另一个缓冲。