#16676 [Com]: ob_implicit_flush not turning off ob
| From: | norny at yahoo dot com | Date: | Sat, 11 Jan 2003 23:27:36 +0000 |
| Subject: | #16676 [Com]: ob_implicit_flush not turning off ob | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-29800@lists.php.net to get a copy of this message | ||
ID: 16676
Comment by: norny@yahoo.com
Reported By: norny@yahoo.com
Status: Won\'t fix
Bug Type: Output Control
Operating System: Slackware 8.0
PHP Version: 4.2.0
New Comment:
We don't seem to be communicating very well. I've been wanting to shut
off buffering this whole time. Your suggestion to not buffer if I don't
need it is just telling me what I already want to do. I've been trying
to use the functions documented in the manual that are supposed to shut
it off, but they have a big "Won't fix" label on them in the bug
database.
How about if I word it differently. I want the default buffer handling
set in php.ini for my webpage output, but I don't want buffers for my
command line scripts. I want those to output something to STDOUT as
soon as it comes to a echo/print. If I don't use ob_end_flush,
ob_implicit_flush, or ini_set, then what should I use to turn off
buffering in my command line scripts.
Previous Comments:
------------------------------------------------------------------------
[2003-01-11 17:08:45] yohgaki@php.net
And don't forget that some buffers should never be deleted once it's
started. The error message is raised, since some users don't know it
shouldn't.
------------------------------------------------------------------------
[2003-01-11 17:05:17] yohgaki@php.net
Since current output buffer is statelss even if some buffers need
stateful handling to prevent crashes/malformed output/ etc.
Don't start buffer if you don't need it. Complain people who insisted
this behavior. Search php-dev archive ;)
------------------------------------------------------------------------
[2003-01-10 12:32:43] norny@yahoo.com
Now I'm getting a PHP notice in Windows XP using PHP 4.3.0 from the cmd
line.
PHP Notice: ob_end_flush() [<a
href='http://www.php.net/ref.outcontrol'>ref.outcontrol</a>]:
failed to
delete buffer default output handler. in C:\Apache\cgi-bin\mybot.php on
line 58
In previous versions, ob_end_flush was my workaround to
ob_implicit_flush not working. In 4.3.0 ob_end_flush isn't working for
me and it does work in 4.2.3. Could someone make at least one of the
two work again instead of keeping the "Won't fix" status?
------------------------------------------------------------------------
[2002-12-27 08:35:57] yohgaki@php.net
Should have been won't fix
------------------------------------------------------------------------
[2002-12-27 08:16:53] yohgaki@php.net
It is easy to make it actually flush output. Difficult part is make it
work always.
Some output buffers shouldn't be deleted and cannot be deleted. i.e.
Some browsers will freeze if server send malformed compressed output.
Thus ob_end_flush() wouldn't and shouldn't work in some cases. If it
works, it's a bug should be fixed.
Fix is simple, but you have to live with that.
If you are interested, search php-dev archive.
BTW, ob_implicit_flush() simply enable SAPI level auto flushing even if
its name imply PHP output buffer flushing. Don't blame me, I'm for
fixing it ;)
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/16676
--
Edit this bug report at http://bugs.php.net/?id=16676&edit=1