为什么php的死循环加了sleep()就输出不了内容?

代码如下:
while (1){
echo $i.'<br>';
sleep(5);
$i++;
}
浏览器打开,一直没见输出$i的值,只是一直在空转“正在等待xxxx响应..”
去掉sleep(5)就能正常输出。
为什么会这样,难道php不能在死循环里sleep?

评论 (0)链接2018-08-21 

php 在程序执行结束之后, 才会把缓存的内容刷到标准输出里, 你的程序一直没有结束, 所以程序一直没有返回, 浏览器只有在接收响应之后才会显示响应的内容

该答案已被锁定,无法对其进行评论,编辑及投票。
()
评论 (0)链接 • 2018-08-23

1 每次输出先flush一下
2 这种测试代码, 直接cli运行就行

该答案已被锁定,无法对其进行评论,编辑及投票。
()
评论 (0)链接 • 2018-08-26
德问是一个专业的编程问答社区,请 登录注册 后再提交答案