#23877 [Bgs->Opn]: ob_implicit_flush does not work
| From: | sthomas at townnews dot com | Date: | Mon, 30 Jun 2003 13:02:09 +0000 |
| Subject: | #23877 [Bgs->Opn]: ob_implicit_flush does not work | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-42851@lists.php.net to get a copy of this message | ||
ID: 23877
User updated by: sthomas at townnews dot com
Reported By: sthomas at townnews dot com
-Status: Bogus
+Status: Open
Bug Type: Output Control
Operating System: Redhat Linux
PHP Version: 4.3.2
New Comment:
So... did you read the report at all? Did you see the part where I
quoted the PHP documentation? Let me do it again:
"Turning implicit flushing on will disable output buffering, the output
buffers current output will be sent as if ob_end_flush() had been
called."
Therefore, according to this, calling ob_implicit_flush *IMPLIES A CALL
TO OB_END_FLUSH*! What part of YOUR OWN DOCUMENTATION do you not
understand? Either the documentation is wrong, or PHP is wrong.
Whichever it is, fix it so there's at least some consistancy.
Previous Comments:
------------------------------------------------------------------------
[2003-06-29 21:07:05] iliaa@php.net
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php
You should've used ob_end_flush(); instead of ob_implicit_flush();.
------------------------------------------------------------------------
[2003-05-29 15:51:03] sthomas at townnews dot com
Please note that the manual says this:
"Turning implicit flushing on will disable output buffering, the output
buffers current output will be sent as if ob_end_flush() had been
called."
Now, I've set output_buffering = 0 in my php.ini script, so supposedly
ob_implicit_flush will flush any buffers started by the script itself,
and continue flushing output thereafter. Try this:
<?PHP
ob_start();
ob_implicit_flush(1);
while(1)
{
print "Hi!";
sleep(1);
}
?>
This script will not output "Hi!" after each iteration through the
loop. Supposedly the documented behavior of ob_implicit_flush is to
flush all output buffers once it's called, and disable output buffering
for further statements that produce output (print, etc.)
So either the documentation is wrong, or there's a bug in
ob_implicit_flush. You decide.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=23877&edit=1