Package home | Report new bug | New search | Development Roadmap Status: Open | Feedback | All | Closed Since Version 1.1.4

Bug #9670 Notice: ob_end_clean(): failed to delete buffer
Submitted: 2006-12-21 06:59 UTC Modified: 2011-03-24 14:35 UTC
From: troehr Assigned: mike
Status: Assigned Package: HTTP_Download (version CVS)
PHP Version: 5.2.0 OS: Any
Roadmaps: (Not assigned)    
Subscription  


 [2006-12-21 06:59 UTC] troehr (Torsten Roehr)
Description: ------------ Calling ob_end_clean() without a buffer causes an E_NOTICE as described on http://php.net/ob_end_clean Test script: --------------- Line 656 in Download.php: Replace: while (@ob_end_clean()); With: while (ob_get_clean()); Expected result: ---------------- No error. Actual result: -------------- Notice: ob_end_clean(): failed to delete buffer. No buffer to delete

Comments

 [2007-01-13 08:06 UTC] mike (Michael Wallner)
The error's already supressed.
 [2007-01-14 09:19 UTC] troehr (Torsten Roehr)
It is NOT if you use a custom error handler! Would you like me to create a sample script?
 [2007-01-18 06:01 UTC] troehr (Torsten Roehr)
I have created a PHP5 test script to demonstrate the error: http://phpfi.com/194729 Please save the code into a .php file, run it in a browser, save the prompted file (the script itself). Then take a look at the created errors.txt (must have write permissions). Thanks, Torsten Roehr
 [2007-02-20 05:11 UTC] mike (Michael Wallner)
This bug has been fixed in CVS. If this was a documentation problem, the fix will appear on pear.php.net by the end of next Sunday (CET). If this was a problem with the pear.php.net website, the change should be live shortly. Otherwise, the fix will appear in the package's next release. Thank you for the report and for helping us make PEAR better.
 [2007-04-19 03:26 UTC] klodoma (Andrei Bintintan)
Line: 657 The if condition should not be the following??? if (ob_get_level() > 0) { while (@ob_end_clean()); } With the version from 2007.02 I still get get the error. And I think that ob_end_clean() should be executed only if ob_get_level is bigger than 0. ob_get_level returns an integer.
 [2007-04-19 07:06 UTC] klodoma (Andrei Bintintan)
I am using a user error handler and I still get the error. The final workaround for me was: line: 656->658 (the if ()) while (ob_get_level() > 0){ ob_end_clean(); }. This erases also all output buffers without generating the last error that was supressed by @
 [2011-03-24 13:52 UTC] cfpsolutions (Cfp Solutions)
I still get this error. * @version CVS: $Id: Download.php 304423 2010-10-15 13:36:46Z clockwerx $ applying klodoma's patch fixed it.
 [2011-03-24 14:35 UTC] dufuz (Helgi Þormar Þorbjörnsson)
-Status: Closed +Status: Open