PHP如何在请求完毕后继续处理耗时任务

      今天看到dewen里面有人问,如何用php实现浏览器跳转后继续执行后续代码,我写了个demo,在php-fpm环境下非常容易实现,fastcgi_finish_request即可。如果是其它容器,我想只能通过输出javascript到客户端实现跳转,然后后台继续执行。

    demo如下,php-fpm测试可用,apache php-cgi由于没有环境没有测试。


location='$url'";
    ob_flush();
    flush();
}

    // 这里是模拟你的耗时逻辑
    sleep(2);
    file_put_contents('/tmp/test.log', 'ok');


你可能感兴趣的:(php)