1. 程式人生 > >PHP返回結果到前端的同時繼續執行後續的任務

PHP返回結果到前端的同時繼續執行後續的任務

$rs = ['code' => 0, 'msg' => 'ok', 'data' => true];
set_time_limit(0);
ob_end_clean();
header("Connection: close");
header("HTTP/1.1 200 OK");
header("Content-Type: application/json;charset=utf-8");// 如果前端要的是json則新增,預設是返回的html/text
ob_start();
echo json_encode($rs);// 輸出結果到前端
$size = ob_get_length();
header("Content-Length: $size");
ob_end_flush();
flush();
if (function_exists("fastcgi_finish_request")) { // yii或yaf預設不會立即輸出,加上此句即可(前提是用的fpm)
    fastcgi_finish_request(); // 響應完成, 立即返回到前端,關閉連線
}
sleep(2);
ignore_user_abort(true);// 在關閉連線後,繼續執行php指令碼
set_time_limit(0);

後面放自己需要後續執行的程式碼