我正在使用Laravel,我需要输出数据。当我尝试在Laravel之外加载页面时,它运行正常。如果我在Laravel中使用它,它不会刷新,它会等到结束并打印结果。
view.php
<?php
if (ob_get_level() == 0) ob_start();
for ($i = 0; $i <= 10; $i++){
echo "<br> Line to show. $i";
echo str_pad('',4096)."\n";
ob_flush();
flush();
sleep(1);
}
ob_end_flush();
?>
答案 0 :(得分:5)
想出来,我需要添加ob_flush();
答案 1 :(得分:0)
这个顺序对我有用。
ob_implicit_flush(true);
echo "Processing ... "; // Or give out JSON output
ob_flush();
sleep(5); //A time-consuming synchronous process (SMTP mail, maybe?)
echo "Done";
答案 2 :(得分:0)
更新,对于任何来到这里的人。
上述解决方案对我不起作用。有效的是添加
header('X-Accel-Buffering: no');
在任何输出之前。
在这里找到它:https://laracasts.com/discuss/channels/laravel/live-output-in-blade-template-ob-flush