[horde] Class definition of Horde_Cache_emcache not found - Revisted

d.hill at yournetplus.com d.hill at yournetplus.com
Sat Aug 1 00:39:17 UTC 2009


Quoting Michael Rubinsky <mrubinsk at horde.org>:

>
> Quoting d.hill at yournetplus.com:
>
>> I'm still getting an error relating to 'Class definition of  
>> Horde_Cache_emcache not found' periodically.
>>
>> I have added my email account as an admin so I could get the full  
>> error message. Being the content of the text is over 500Kb, here is  
>> a link to the text of what I receive periodically:
>>
>>    http://mail.yournetplus.com/d.hill/Horde_Cache_emcache.txt
>>
>> I've changed all of the sensitive information (E.g. server domain  
>> names and passwords) to protect the innocent.
>>
>> Can anyone shed light as to what is going on? I have very little  
>> PHP experience to debug this issue.
>
> This is very bizarre.  It looks like you either have a corrupt  
> Cache.php file or a badly broken PHP build.
>
> Can you post what the factory() method looks like in  
> lib/Horde/Cache.php? Even better, you can place var_dump($driver)  
> statements in various locations in that method and see where the  
> string is losing the first character.

Thanks for your quick response. I have placed var_dump($driver) after  
all of the if statements within that particular methond.

Here is what factory() looks like in my install:

     function factory($driver, $params = array())
     {

         var_dump($driver);

         if (is_array($driver)) {
             $app = $driver[0];
             $driver = $driver[1];
         }

         var_dump($driver);

         $driver = basename($driver);
         if (empty($driver) || $driver == 'none') {
             return new Horde_Cache($params);
         }

         var_dump($driver);

         if (!empty($app)) {
             include_once $app . '/lib/Cache/' . $driver . '.php';
         } elseif (file_exists(dirname(__FILE__) . '/Cache/' . $driver  
. '.php')) {
             include_once dirname(__FILE__) . '/Cache/' . $driver . '.php';

         } else {
             include_once 'Horde/Cache/' . $driver . '.php';
         }

         var_dump($driver);

         $class = 'Horde_Cache_' . $driver;
         if (class_exists($class)) {
             $cache = new $class($params);
         } else {
             $cache = PEAR::raiseError('Class definition of ' . $class  
. ' not found
.');
         }

         return $cache;
     }




More information about the horde mailing list