PHP 4.0 Bug #9031 Updated: ob_gzhandler memory leak and Headers already sent message!

From: 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

« previous php.dev (#45873) next »