首页  编辑  

PHP立刻返回结果给前端并继续执行耗时的后续任务代码

Tags: /PHP/   Date Created:
PHP立刻返回结果给前端,然后继续执行耗时的代码:

        ob_end_clean();
        ob_start();
        echo "ok"// 这里返回2字节内容 
        header("Content-Length: 2");   // 此处长度需要根据返回内容变化!
        header("HTTP/1.1 200 OK");
        header("Connection: close");
        ob_end_flush();
        ob_flush();
        flush();
        if (function_exists("fastcgi_finish_request")) { // yii或yaf默认不会立即输出,加上此句即可(前提是用的fpm)
            fastcgi_finish_request(); // 响应完成, 立即返回到前端,关闭连接
        }
        ignore_user_abort(true); //在关闭连接后,继续运行php脚本
        set_time_limit(0); //no time limit,不设置超时时间(根据实际情况使用)

        //  继续执行耗时的其他任务代码