Erreur fatale: appel à la fonction non définie cache_get () [fermé]

10

Je reçois l'erreur suivante sur le serveur

Fatal error: Call to undefined function cache_get() in includes/module.inc on line 665
Drush command terminated abnormally due to an unrecoverable error.                                                                                [error]
Error: Call to undefined function cache_get() in includes/module.inc, line 665

Comment régler ceci?

Dinesh Kumar Sarangapani
la source
1
Dans mon cas, j'ai trouvé le problème sous-jacent en ajoutant function cache_get() { return false; }à settings.php.
kqw
5
Dans mon cas, Ubuntu a été configuré pour utiliser php7 par défaut. Drush a besoin de php5 en supposant que votre serveur utilise également php5 ... Essayezsudo ln -sfn /usr/bin/php5 /etc/alternatives/php
Jorge Orpinel

Réponses:

2

Lorsque vous tapez drushdans la ligne de commande, vous avez probablement atteint le bon endroit pour résoudre votre problème. Cette erreur survient lorsqu'il drushn'est pas à jour et cela se produit lorsque vous installez à drushpartir du référentiel officiel dans Ubuntu.

La solution est simple: installez simplement une nouvelle version de drush! Et pour ce faire, vous devez installer à partir du package backports d'Ubuntu.

Yusef
la source
J'ai également rencontré la même solution, j'utilise Drush 4.6. Vers quelle version puis-je passer?
Dinesh Kumar Sarangapani
13

Pour moi, la cause était différente: certaines erreurs ne sont pas détectées par le gestionnaire d'erreurs de Drupal.

J'ai utilisé un new DateTime()dans mon settings.php(probablement très rare). Il a généré une erreur car le date.timezoneparamètre dans ma CLI php.inin'était pas défini.

Pour trouver la vraie erreur (c'est la partie intéressante de la réponse pour vous tous, je pense):

Modifiez votre module.inc, ligne 723.

Ajoutez ces lignes avant l' cache_getappel.

if (!function_exists('cache_get')){ 
    debug_print_backtrace(); 
}
$implementations = cache_get('module_implements', 'cache_bootstrap');

Cela pourrait vous donner beaucoup d'informations sur la véritable source du problème!

Etienne
la source
Cela m'a été très utile, mon problème était dû à un problème dans fast404. Il semble y avoir plusieurs façons d'atteindre cette erreur, cette technique aidera au débogage. Merci
casivaagustin
Heureux de vous aider :)
Etienne
1
J'ai eu une erreur de syntaxe dans settings.php qui a entraîné une erreur fatale: appel à la fonction non définie cache_get (). Je suggère à ceux qui ont ce problème de vérifier leur fichier settings.php.
ndvo
C'est essentiellement pour les problèmes de dernière version de PHP où session.save_handler ne fonctionne pas. Veuillez donc supprimer la ligne ci-dessous de settings.php ini_set ('session.save_handler', 'user'); ou Remplacez la ligne par session_set_save_handler (new SessionHandler ()); ---------------------------- Ligne actuelle ini_set ('session.save_handler', 'user'); Doit être remplacé par session_set_save_handler (new SessionHandler ());
tapas talukder