I can’t seem to get the function connection_aborted to work with nginx. The code I used to test is as follow:
<?php
ignore_user_abort(true);
ob_implicit_flush();
$i = 0;
while (!connection_aborted()) {
echo $i;
$i++;
sleep(1);
}
file_put_contents('test',$i);
In Apache, it works correctly, although it delays a little. i.e. When I press stop button on browser when “3”, the ‘test’ file shows “8”. That is an acceptable margin, but on nginx, it doesn’t seem to output anything to the ‘test’ file.
Check your Nginx configuration, it should have
This configuration key has
offas the default, so even if you have nofastcgi_ignore_client_abortat all, your script should work as expected.