Excerpt |
---|
You can flushe all response data to the client and finishes the request to run time consuming tasks with no connection with brower client by fastcgi_finish_request(). This allows for time consuming tasks to be performed without leaving the connection to the client open. |
Code Block |
---|
ignore_user_abort(true);//not required
set_time_limit(0);
ob_start();
// do initial processing here
echo $response; // send the response
header('Connection: close');
header('Content-Length: '.ob_get_length());
ob_end_flush();
@ob_flush();
flush();
fastcgi_finish_request();//required for PHP-FPM (PHP > 5.3.3)
// now the request is sent to the browser, but the script is still running
// so, you can continue your post processing below
.
.
.
end; // a must especially if set_time_limit=0 is used and the task ends |
Below may work without ob_*()
Code Block |
---|
set_time_limit(0);
// do initial processing here
.
.
.
header('Connection: close');
flush();
fastcgi_finish_request();//required for PHP-FPM (PHP > 5.3.3)
// now the request is sent to the browser, but the script is still running
// so, you can continue your post processing below
.
.
.
end; // a must especially if set_time_limit=0 is used and the task ends |