PHP为何等到执行完才能输出,中途怎么输出ABC,ob_flush不管用

ob_start();for($i=0;$i<20;$i++){//...耗时的操作3秒钟echo"ABC";ob_flush();}运行的时候,需要1分钟才能显示,且一... ob_start();
for($i=0;$i<20;$i++){
//...耗时的操作 3秒钟
echo "ABC";
ob_flush();
}

运行的时候,需要1分钟才能显示,且一下子显示所有ABC,怎样一条条的出来,3秒钟输出一次才对呀?
省略的内容为耗时的curl内容,可以加个空地址设置超时时间去测试
谢谢解答在线等~

//可能会用上sleep阻塞代码
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);//url here
curl_setopt($curl, CURLOPT_HEADER, 0);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($curl, CURLOPT_TIMEOUT, 60*3);//3 seconds

$data = curl_exec($curl);

curl_close($curl);
展开
 我来答
百度网友c9e795dda
2014-11-19 · TA获得超过5167个赞
知道大有可为答主
回答量:1128
采纳率:0%
帮助的人:1155万
展开全部
要不你就不要 ob_start(); 这个将你输出的东西 buffer ( 缓存 ) 起来了
要不你 ob_flush(); 之後再加个 flush();
或者你直接在 php.ini 中, 将 output_buffer 改成 off
sky_xo
2014-11-19 · TA获得超过149个赞
知道答主
回答量:49
采纳率:0%
帮助的人:43.7万
展开全部
尝试下除了输出ABC,多echo一大堆东西(类似空格啥的)
因为浏览器本身是有buffer的,攒了很多才会渲染
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tsotsi
2014-11-19 · TA获得超过940个赞
知道小有建树答主
回答量:1367
采纳率:55%
帮助的人:699万
展开全部
你超时是3分,时间没到 没执行完 肯定啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式