set_time_limit(0);
ob_start();
echo str_repeat(' ',4000).'
';
ob_flush();
flush();
$i = 0;
while (true) {
echo $i++.'
';
ob_flush();
flush();
sleep(1);
}
/*现在问题是一直在等待,但是没有出现值,求帮忙*
set_time_limit(0);
ob_start();
echo str_repeat(' ',4000).'
';
ob_flush();
flush();
$i = 0;
while (true) {
echo $i++.'
';
ob_flush();
flush();
sleep(1);
}
/*现在问题是一直在等待,但是没有出现值,求帮忙*
以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
你的PHP脚本中存在一些错误。首先,ob_flush() 和 flush() 是用来清除输出缓冲区的,而不是用于刷新缓存的。
其次,你正在使用一个无限循环,这意味着脚本将一直运行下去,直到你的服务器被强制关闭或你停止执行这个脚本。
最后,你的代码并没有实际显示任何内容。为了使脚本正常工作并打印信息,你需要添加一些逻辑来控制输出,并且确保你的脚本不会阻塞太久。
这是一个修改后的版本:
<?php
// 设置时间限制为0以禁用超时功能
set_time_limit(0);
// 开始输出缓冲区
ob_start();
// 输出字符串,然后刷新输出缓冲区
echo str_repeat(' ', 4000);
// 刷新输出缓冲区
ob_flush();
// 刷新输出缓冲区
flush();
$i = 0;
while ($i < 5) {
// 假设这是一个计算循环,它会增加 $i 的值。
$i++;
}
// 当计数器达到5时,退出循环
if ($i == 5) {
exit(); // 结束程序
} else {
// 如果计数器大于5,则继续循环
continue;
}
// 错误处理:如果 $i 大于5,这可能是因为你的脚本有错误或者输入数据有问题。
?>
在这个例子中,我们设置了一个循环,当计数器小于等于5时,脚本将继续执行;否则,脚本将在结束时返回。这样,即使脚本长时间运行,也不会阻塞。