FastCGI PHP - unable to prematurely close connection to browser
Hoang Hoang
lists at ruby-forum.com
Sat Feb 6 18:25:59 MSK 2010
Hi,
I just tested your script and found that I needed to wait 10s to see the
response. I am using Windows XP, Apache 2.1.11 worker MPM, PHP 5.3.1
It did not work asynchronously as you expected. Am I missing something
here?
Regards
cactus wrote:
> Hi all!
>
> I am optimizing a few of the PHP scripts by:
> - doing all that generates output to browser
> - closing connection to browser
> - doing some more processing
>
> The processing bit cannot be avoided, but the speed of execution (from
> visitors' point of view) is awesome this way. The problem is that we
> have tried migrating the script to NginX + FastCGI (it works on Apache +
> mod_php) but it doesn't close the connection anymore, it keeps it open
> until the end... Which makes scripts slow again.
>
> I am using Content-Length to allow server to figure out that all content
> was already generated. This is the test case:
>
> <?
> header("Connection: close"); // not sure we need this one
> header("Content-Encoding: none");
> ignore_user_abort(true);
> ob_start();
>
> echo ('Lets output something.');
>
> // output Content-Length and flush buffers:
> $size = ob_get_length();
> header("Content-Length: $size");
> ob_end_flush();
> flush();
>
> // ****************
> // do some heavy processing here:
> sleep(5);
>
> function postproc() {
> flush();
> sleep(5);
> }
> register_shutdown_function('postproc');
> ?>
>
>
> The browser shows this page immediately in Apache+mod_php but it waits
> for 10 seconds in NginX + FastCGI.
>
> I am a bit stuck here and would appreciate some help... Is this a
> problem with FastCGI? Is there another way to do it?
>
> Thanks!
>
> Posted at Nginx Forum:
> http://forum.nginx.org/read.php?2,51310,51310#msg-51310
--
Posted via http://www.ruby-forum.com/.
More information about the nginx
mailing list