哔哔one
我在这里看到了很多建议ignore_user_abort(true);但是这个代码是不必要的。所有这一切都是确保您的脚本在用户中止时在发送响应之前继续执行(通过关闭他们的浏览器或按转义来停止请求)。但这不是你想要的。您要求在发送响应后继续执行。你所需要的只是以下几点: // Buffer all upcoming output...
ob_start();
// Send your response.
echo "Here be response";
// Get the size of the output.
$size = ob_get_length();
// Disable compression (in case content length is compressed).
header("Content-Encoding: none");
// Set the content length of the response.
header("Content-Length: {$size}");
// Close the connection.
header("Connection: close");
// Flush all output.
ob_end_flush();
ob_flush();
flush();
// Close current session (if it exists).
if(session_id()) session_write_close();
// Start your background work here.
...如果您担心后台工作会比PHP的默认脚本执行时间长,那么坚持set_time_limit(0);在顶端。