我有一个运行几个连续的php / bash脚本的html页面,我希望在下一个脚本启动之前在页面上显示结果。这可能吗?
示例:
<html> <body>
<br>Html1<br>
<?php
echo "A";
sleep(4);
echo "B";
?>
<br>Html2<br>
<?php
echo "C";
sleep(4);
echo "D";
?>
<br>Html3<br>
</body> </html>
......在完成所有事情之前,没有显示任何内容。
答案 0 :(得分:2)
这可能是一个缓冲问题。
在连续flush()
之间执行echo
以刷新PHP的内部输出缓冲区。
请注意,您的网络服务器可能会执行额外的缓冲,浏览器也可以执行此操作,因此无法保证更改将在浏览器中显示。
如果您想测试是否涉及其他缓冲,您可以在每次输出后发布长HTML注释。
例如:
<?php
echo "<!-- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ... aaa -->";
?>
如果评论足够长,它将填充缓冲区,迫使它冲洗。
请注意,这仅用于测试,请勿在生产代码中使用。