【发布时间】:2012-11-27 06:28:32
【问题描述】:
我正在使用 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();
?>
【问题讨论】:
-
php 从来不擅长这个——也从来没有真正为它设计过,作为服务器端,你有没有考虑过另一种方法
-
像大多数框架一样,视图的输出包含在 ob_*() 调用中,以允许诸如压缩、更好的错误处理以及在打印数据后设置 HTTP 标头等功能。完成所有操作后,它将输出数据。所以你自己的 ob_*() 调用不会脱离外部调用。
-
那么我有什么选择?