解决实现PHP提前响应,报502 gatway错误
为实现直接从子方法中响应页面,中断请求,编写以下代码
代码块
代码块语法遵循标准markdown代码
function close ($data)
{
$is_exists = function_exists('fastcgi_finish_request');
if (!$is_exists) {
ob_end_flush();
ob_start();
}
echo json_encode($data);
if (!$is_exists) {
header('Content-Type : text/html;charset=utf-8');
header('Connection: close');
header('Content-Length: ' . ob_get_length());
ob_flush();
flush();
} else {
fastcgi_finish_request();
}
}
此代码出现错误
Request failed with status code 502
解决方案为:终止服务端代码执行
function close ($data)
{
$is_exists = function_exists('fastcgi_finish_request');
if (!$is_exists) {
ob_end_flush();
ob_start();
}
echo json_encode($data);
if (!$is_exists) {
header('Content-Type : text/html;charset=utf-8');
header('Connection: close');
header('Content-Length: ' . ob_get_length());
ob_flush();
flush();
} else {
fastcgi_finish_request();
}
exit;//终止服务端程序执行
}