梅川酷芷 2018-10-07 15:11 采纳率: 66.7%
浏览 832
已采纳

php 后台执行,客户端无需等待。

我需要做一个PHP采集系统,也就是客户端访问了一个页面,页面就提交一次采集请求,然后立马响应结果。
无需让客户端一直等待。PHP后台执行采集任务,无视客户端是否关闭浏览器。

自己网上查了很多,可以做到后台执行,但是浏览器一直处于等待。

 <?php
ignore_user_abort(true); // 后台运行,不受前端断开连接影响
set_time_limit(60);// 脚本最多运行1分钟
ob_end_clean();//清除之前的缓冲内容,
header("HTTP/1.1 200 OK"); //可以发送200状态码,

for ($x=0; $x<=100000; $x++) {
$handle=fopen('num.txt',"a+");
fwrite($handle,$x);
@fclose($handle);
}

?>
  • 写回答

6条回答 默认 最新

  • 斯洛文尼亚旅游 2018-10-08 00:45
    关注

    你要立即显示服务器端数据,最简单的可以用EventSource这个对象,具体参考这个:http://www.w3dev.cn/article/20180517/Asp.net-SSE-DEMO.aspx

    高级一点就是websocket之类的

    或者用streaming ajax http://www.w3dev.cn/article/20121010/firefox-Streaming-AJAX.aspx

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?