#36383 [Opn]: ob_implicit_flush() does not disable output buffering

From: Date: Wed, 08 Mar 2006 15:11:23 +0000
Subject: #36383 [Opn]: ob_implicit_flush() does not disable output buffering
References: 1  Groups: php.doc 
Request: Send a blank email to phpdoc+get-969372298@lists.php.net to get a copy of this message
ID: 36383 Updated by: mike@php.net Reported By: david at acz dot org Status: Open -Bug Type: Output Control +Bug Type: Documentation problem Operating System: Linux PHP Version: 5.1-200602151530 New Comment: This is a documentation problem. Unlike the manual says, ob_implicit_flush() does neither end output buffering, nor does it flush the current output buffer. It just causes a flush() when something actually gets written to the webserver. Previous Comments: ------------------------------------------------------------------------ [2006-02-15 18:00:26] david at acz dot org Same thing: php5.1-200602151530$ sapi/cgi/php -q <? ob_start(); ob_implicit_flush(true); var_dump(ob_end_flush()); ?> bool(true) Another test: php5.1-200602151530$ sapi/cgi/php -q <? ob_start(); echo "hello\n"; ob_implicit_flush(true); echo "bye\n"; ob_end_clean(); ?> (no output) The ob_implicit_flush() function is not disabling output buffering or sending the current output as the documentation says it should. ------------------------------------------------------------------------ [2006-02-13 19:09:07] tony2001@php.net Please try using this CVS snapshot: http://snaps.php.net/php5.1-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.1-win32-latest.zip ------------------------------------------------------------------------ [2006-02-13 17:09:57] david at acz dot org Description: ------------ The documentation for ob_implicit_flush says that "Turning implicit flushing on will disable output buffering, the output buffers current output will be sent as if ob_end_flush() had been called." This is not the case. If this is indeed the correct behavior, please update the documentation to reflect that and add an example such as the following: ob_implicit_flush(true); while (@ob_end_flush()); Reproduce code: --------------- ob_start(); ob_implicit_flush(true); var_dump(ob_end_flush()); Expected result: ---------------- bool(false) Actual result: -------------- bool(true) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=36383&edit=1

« previous php.doc (#969372298) next »