ID: 9031
User Update by: [EMAIL PROTECTED]
Status: Open
Bug Type: Output Control
Description: ob_gzhandler memory leak and Headers already sent message!

I've just found out what the problem is, and it's kind of weird:
With ob_gzhandler enabled (from php.ini or with ob_start("ob_gzhandler") in the .php) 
each readfile() makes the "Cannot add header information - headers already sent" error 
message appear.
This doesn't happen with output buffering enabled and no ob_gzhandler, it only happens 
with ob_gzhandler enabled.

Also tried to replace readfile with fpassthru(fopen()) but got the same result.

Hope this helps you fix the problem.

If you have any questions feel free to ask, I've been experimenting quite a lot.

Previous Comments:

[2001-02-02 09:23:24] [EMAIL PROTECTED]
Tried the php4-200102020545 snapshot and I still get the

httpd: PHP Warning:  Cannot add header information - headers already sent in Unknown 
on line 0

error message when enabling output_handler = ob_gzhandler.
This probably still causes a memory leak.

Found another interesting thing: when trying to see the headers of a ob_gzhandler 
compressed page with lynx, I get the following lynx error message:

Can't access startfile http://localhost/test.php

That's using lynx -head -source http://localhost/test.php. Seems lynx sees something 
which it doesn't like. With ob_gzhandler disabled, I get the normal http headers when 
invoking that lynx command.


[2001-02-01 20:03:32] [EMAIL PROTECTED]
This should be fixed in CVS now. Please try the latest CVS snapshot from and reopen this bug report if problem still exists when
using it.



[2001-01-31 09:15:17] [EMAIL PROTECTED]
When enabling output_handler = ob_gzhandler in php.ini, my Linux system starts to eat 
more and more memory in an unusual way, like there was a memory leak, like many people 
have reported.

But what is absolutely weird is that after enabling ob_gzhandler, I start to get this 
error messages in my log files:

Cannot add header information - headers already sent in Unknown on line 0

Which is weird, because one of the features of output buffering is to avoid that kind 
of problems. What's even more weird is that I don't get any "headers already sent" 
messages with output_handler = ob_gzhandler disabled!


Full Bug description available at:

PHP Development Mailing List <>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to