gpt4 book ai didi

php - 每次长循环迭代时回显 'string'(flush() 不起作用)

转载 作者:IT王子 更新时间:2023-10-29 00:07:07 25 4
gpt4 key购买 nike

我有一个执行时间很长的循环,我希望脚本在循环迭代完成时显示一些内容。

echo "Hello!";

flush();

for($i = 0; $i < 10; $i ++) {
echo $i;
//5-10 sec execution time
flush();
}

在整个脚本完成之前,这不会显示回显。出了什么问题?

最佳答案

来自 PHP 手册:

flush() 可能无法覆盖您的网络服务器的缓冲方案,并且它对浏览器中的任何客户端缓冲都没有影响。它也不影响 PHP 的用户空间输出缓冲机制。这意味着如果您正在使用 ob 输出缓冲区,则必须同时调用 ob_flush() 和 flush() 来刷新它们。

echo "Hello!";
flush();
ob_flush();

for($i = 0; $i < 10; $i ++) {
echo $i;
//5-10 sec execution time
flush();
ob_flush();
}

-或者- 您可以刷新并关闭缓冲

<?php
//Flush (send) the output buffer and turn off output buffering
while (ob_get_level() > 0)
ob_end_flush();

echo "Hello!";

for($i = 0; $i < 10; $i ++) {
echo $i . "\r\n";
}

?>

关于php - 每次长循环迭代时回显 'string'(flush() 不起作用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6556790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com