冲洗不工作

时间:2016-02-06 19:02:03

标签: php flush

我尝试使用下面的代码显示实时php进程输出,但它不起作用,它没有实时显示进程,它只显示最终输出< / p>

echo "Start...";

for ($i = 0; $i<20; $i++){
    echo $i;
    ob_flush();
    flush();
    sleep(1);
 }

echo "Done!";
ob_end_flush();
exit;

3 个答案:

答案 0 :(得分:0)

Flush在IIS方面。但是,一些Web服务器有自己的输出缓存。

例如%windir%\system32\inetsrv\appcmd.exe set config /section:handlers "/[name='PHP_via_FastCGI'].ResponseBufferLimit:0" ResponseBufferLimit选项。

limit

答案 1 :(得分:0)

现在大多数浏览器都不显示页面,除非页面非常大,否则它们具有所有初始DOM内容(不包括图像等单独的资源)。我认为在显示任何内容之前确保所有css规则都存在。 Heres what the manual says

答案 2 :(得分:0)

你的问题不明确。我以为你是直接运行PHP的。 如果您通过浏览器运行PHP,这将无法正常工作。 PHP通过浏览器运行整个程序,然后服务器页面。它没有任何更新HTML的工具。 您通常使用ajax来执行此操作。

我认为您的代码段实际上看起来像这样:

<!DOCTYPE html>
<html>
<body>

<?php
   echo "My first PHP script!";
?>

</body>
</html> 

如果你想在PHP中这样做,你必须弄清楚如何直接运行它。试试https://stackoverflow.com/a/9520125/5276890