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

Bug #11224 Implicit type conversion => too much cache is flushed?!
Submitted: 2007-06-05 00:53 UTC Modified: 2008-04-13 09:41 UTC
From: gmb2007 Assigned: tacker
Status: Closed Package: Cache_Lite (version 1.7.2)
PHP Version: Irrelevant OS: Irrelevant
Roadmaps: 1.7.3    
Subscription  


 [2007-06-05 00:53 UTC] gmb2007 (Bjoern Zapadlo)
Description: ------------ hello, we are using pear-lite (1.7.2) caching in a big online shop on php 4.4.3 with several cache groups. Under certain circumstances it appears, that cache lite returns false instead of the cache entry even if it is not outdated. In our opinion this often appears, while flushing a cache group. But the cache entry is in a different cache group. Has any of you discovered similar behaviour? While searching for a reason, I discovered the following code in Lite.php, _cleanDir method, line 593 et sqq. [...] case 'notingrou': // START if (!strpos($file2, $motif, 0)) { // END $result = ($result and ($this->_unlink($file2))); } break; case 'callback_': $func = substr($mode, 9, strlen($mode) - 9); if ($func($file2, $group)) { $result = ($result and ($this->_unlink($file2))); } break; case 'ingroup': default: // START if (strpos($file2, $motif, 0)) { // END $result = ($result and ($this->_unlink($file2))); } break; [...] Perhaps there is a problem with implicit type conversion and strpos function. cf.: http://de.php.net/manual/de/function.strpos.php

Comments

 [2008-04-13 08:01 UTC] tacker (Markus Tacker)
Will be fixed in 1.7.3.
 [2008-04-13 09:41 UTC] tacker (Markus Tacker)
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.