Fatal Error beim Einbinden von memcached
am 19.05.2017 - 20:17 Uhr in
Hallo zusammen,
in einer Drupal 7 Installation unter PHP7 habe ich Memcached aktiviert, das ich gerne als Cache Backend nutzen möchte. Memcached läuft und wird unter phpinfo() gelistet. Als Module verwende ich das Memcache module.
In der settings.php steht Folgendes
$conf['cache_backends'][] = 'sites/all/modules/filecache/filecache.inc';
$conf['cache_backends'][] = 'sites/all/modules/authcache/authcache.cache.inc';
$conf['cache_backends'][] = 'sites/all/modules/authcache/modules/authcache_builtin/authcache_builtin.cache.inc';
$conf['cache_backends'][] = 'sites/all/modules/memcache/memcache.inc';
$conf['cache_default_class'] = 'MemCacheDrupal';
Leider führen die beiden Memcached-Zeilen zu folgender Fehlermeldung.
Fatal error: Uncaught Error: Class 'MemCacheDrupal' not found in /kunden/xxx/webseiten/xxx/includes/cache.inc:31 Stack trace: #0
Die Datei memcache.inc ist, in der die Klasse definiert wird, ist aber vorhanden.
Der Fehler tritt in der cache.inc auf, in dieser Zeile: $cache_objects[$bin] = new $class($bin);
function _cache_get_object($bin) {
// We do not use drupal_static() here because we do not want to change the
// storage of a cache bin mid-request.
static $cache_objects;
if (!isset($cache_objects[$bin])) {
$class = variable_get('cache_class_' . $bin);
if (!isset($class)) {
$class = variable_get('cache_default_class', 'DrupalDatabaseCache');
}
$cache_objects[$bin] = new $class($bin);
}
return $cache_objects[$bin];
}
Hat jemand eine Idee, woran das liegen könnte?
Danke und Grüße
rhodes
- Anmelden oder Registrieren um Kommentare zu schreiben
HiDie
am 19.05.2017 - 22:29 Uhr
Hi
Die Fehlermeldung:
Fatal error: Uncaught Error: Class 'MemCacheDrupal' not found in /kunden/xxx/webseiten/xxx/includes/cache.inc:31 Stack trace: #0
Deine Analyse:
Die Datei memcache.inc ist, in der die Klasse definiert wird, ist aber vorhanden.
Die memcache.inc ist noch gar nicht geladen, wenn cache.inc die Klasse benutzen möchte?
Vermutlich ist Zeile 31
$class = variable_get('cache_class_' . $bin);
Ich sehe die Zeilennummern nicht aber $bin ist ein String so müsste cache_class_MemCacheDrupal in der System Variablen Tabelle vorhanden sein.
MfG
Robert
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)
Hi, rhodes schrieb Der
am 20.05.2017 - 09:09 Uhr
Hi,
Der Fehler tritt in der cache.inc auf, in dieser Zeile: $cache_objects[$bin] = new $class($bin); (das ist die Zeile 31)
Die memcache.inc ist noch gar nicht geladen, wenn cache.inc die Klasse benutzen möchte?
Vermutlich ist Zeile 31
$class = variable_get('cache_class_' . $bin);
Ich sehe die Zeilennummern nicht aber $bin ist ein String so müsste cache_class_MemCacheDrupal in der System Variablen Tabelle vorhanden sein.
Die Klasse sollte eigentlich nach der Einbindung in die settings.php vorhanden sein. Die anderen Cache backends werden genauso eingefügt. Danke für den Tipp mit der Variablen Tabelle. Da werde ich mal schauen.
MfG
rhodes