我从命令行启动我的脚本,它会在事件发生时输出,但一周前它停止输出,现在在脚本完成时输出所有内容。我有ob_start(),但据我所知,这不会影响命令行输出。
答案 0 :(得分:5)
您需要删除ob_start()...在命令行上尝试此代码,它将一次打印所有文本:
<?
ob_start();
echo "test\n";
sleep(10);
echo "buffer\n";
?>
答案 1 :(得分:1)
一种简单的方法是在php中创建一个这样的函数:
function console_log($message) {
$STDERR = fopen("php://stderr", "w");
fwrite($STDERR, "\n".$message."\n\n");
fclose($STDERR);
}
其中$ message是所需的命令行输出。然后,只要在您想要输出的地方调用该函数,然后传递您想要打印的任何内容即可。
答案 2 :(得分:0)
如果您可以在此处发布您的脚本,至少是相关部分,那将非常有用,但我要测试的是:
仅在脚本末尾输出似乎是一个缓冲问题。