Output buffering problem
| From: | Willem Vooys | 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