Output buffering problem

From: Date: Thu, 07 Nov 2002 11:25:11 +0000
Subject: Output buffering problem
Groups: php.general 
Request: Send a blank email to php-general+get-123136@lists.php.net to get a copy of this message
Hi, I'm having a buffering problem with following combination: -Webserver: Apache 1.3.23
-CGI:       PHP 4.2.1
-Client:    IE 6.026 (but fails using others as well)
Description: I want the output buffer of php being flushed to the client in a time-consuming loop, using the flush() and/or ob_flush() functions of php. The client recieves no output till the script is totally finished. Possible causes: -is the php buffer function working properly? Yes it is. When i start buffering some text i check for the size of the buffer to grow, and it does. Then i flush it and i can see the buffer size is 0. So this means that php sends the buffer to the backend right? -is the browser buffering? Yes it does, but sending 300 bytes prior to the 'real' data fixes that problem, as i could see on another server using the same client, but differing versions of php/apache. (php 4.0.2/ apache 1.3.14). On this particular server it worked like a charm. -is apache using gzip? Yes, gzip is enabled.It is known for buffering output till a script finishes, but i disabled gzip in httpd.conf for this particular file, as shown below: <IfModule mod_gzip.c>
    <Location /export/home/'hostname'/htdocs/debug.php>
       mod_gzip_on no
    </Location>
</IfModule> I think that this should do the trick. If not, how could i verify gzip being disabled? Question: Does this (newer) version of apache/php has some defaults that enable it to buffer output? If so how can i disable them for one particular file/directory? Thnx in advance, Wildcard

« previous php.general (#123136) next »