我尝试使用下面的代码显示实时php进程输出,但它不起作用,它没有实时显示进程,它只显示最终输出< / p>
echo "Start...";
for ($i = 0; $i<20; $i++){
echo $i;
ob_flush();
flush();
sleep(1);
}
echo "Done!";
ob_end_flush();
exit;
答案 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。