PHP 4.0 Bug #9031 Updated: ob_gzhandler memory leak and Headers already sent message!
| From: | aboldt at boldtconsult dot com | Date: | Tue, 06 Feb 2001 20:33:49 +0000 |
| Subject: | PHP 4.0 Bug #9031 Updated: ob_gzhandler memory leak and Headers already sent message! | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-45873@lists.php.net to get a copy of this message | ||
ID: 9031
User Update by: aboldt@boldtconsult.com
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] aboldt@boldtconsult.com
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] sniper@php.net
This should be fixed in CVS now. Please try the latest CVS snapshot from http://snaps.php.net/ and reopen this bug report if problem still
exists when
using it.
--Jani
---------------------------------------------------------------------------
[2001-01-31 09:15:17] aboldt@boldtconsult.com
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: http://bugs.php.net/?id=9031