ID:               16676
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Analyzed
 Bug Type:         Output Control
 Operating System: Slackware 8.0
 PHP Version:      4.2.0
 New Comment:

Don't worray, it's known issue.
I can make it flush when all output buffers registered may be flushed,
otherwise it just does not work.

Imagine turning on/off compression, converting one encoding to another,
etc in the middle of transmission. It just does not work.

If you need to flush, do not use output buffers at all.

Note: Older PHP is just deleted the last output buffer registered with
ob_implicit_flush. This is wrong behavior.




Previous Comments:
------------------------------------------------------------------------

[2002-04-18 03:50:26] [EMAIL PROTECTED]

I tried leaving output_buffering = 4096 in php.ini and turning on
implicit_flush in php.ini, and it's still not flushing my echo lines
till the end of script execution, so neither the function or the ini
config are working for me. If I make output_buffering = 0, it flushes
correctly as expected, but as I understand it, the whole point of
ob_implicit_flush() in runtime is to override the default ini config
which is what I want to do.

------------------------------------------------------------------------

[2002-04-18 03:43:38] [EMAIL PROTECTED]

I can't change the status to 'Open', but I can say
zlib.output_compression is off.

------------------------------------------------------------------------

[2002-04-18 02:57:57] [EMAIL PROTECTED]

I guess you are enabling zlib.output_compression.
If you are not, please change Status to "Open".
Thank you.

------------------------------------------------------------------------

[2002-04-18 02:19:29] [EMAIL PROTECTED]

I have a php shell script that outputs ~100 char lines using echo. I'm
trying to work around the default php.ini configuration of a 4k
automatic buffer and flush the lines to the console for debugging.

Calling ob_flush() after each echo, echos the lines immediately,
putting ob_end_flush() at the beginning of the script turns off ob so I
get immediate output, but ob_implicit_flush() and ob_implicit_flush(1)
don't seem to automatically flush after each echo. I have to wait till
the end of the script execution to see the output when I try
ob_implicit_flush. Using ob_end_flush() is my workaround for now.

Same difference whether I use echo or print. This is for RC4.

------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=16676&edit=1

Reply via email to