1

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.

2 Answers 2

5

Check your Nginx configuration, it should have

fastcgi_ignore_client_abort off;

This configuration key has off as the default, so even if you have no fastcgi_ignore_client_abort at all, your script should work as expected.

Sign up to request clarification or add additional context in comments.

Comments

0

My guess is that "connection_aborted()" is unable to detect the "ABORTED" connection
(and the script is still running)

1 Comment

That's also my guess, but I'm looking for a solution, unless you're telling me it's nginx's bug...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.