PHP返回結果到前端的同時繼續執行後續的任務
阿新 • • 發佈:2018-12-09
$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); 後面放自己需要後續執行的程式碼