致命错误:调用未定义函数cache_get()[关闭]


10

我在服务器上收到以下错误

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

如何解决?


1
就我而言,我通过添加function cache_get() { return false; }来发现了潜在的问题settings.php
kqw

5
在我的情况下,Ubuntu默认设置为使用php7。假设您的服务器也使用php5,Drush需要php5 ...试试sudo ln -sfn /usr/bin/php5 /etc/alternatives/php
Jorge Orpinel '16

Answers:


2

当您drush在命令行中键入命令时,您可能到达了解决问题的正确位置。如果drush不是最新的,则会出现此错误,而当您drush从Ubuntu中的官方存储库进行安装时,就会发生此错误。

解决方法很简单:只需安装新版本的drush!为此,您必须从Ubuntu的backports软件包中进行安装。


我也遇到了相同的解决方案,我正在使用Drush 4.6。我可以升级到哪个版本?
Dinesh Kumar Sarangapani 2012年

13

对我而言,原因不同:Drupal的错误处理程序未捕获某些错误。

new DateTime()在我的计算机中使用了settings.php(可能非常罕见),因为未设置date.timezoneCLI中的设置,因此产生了错误php.ini

找到真正的错误(我认为这是答案对大家来说有趣的部分):

编辑您的module.inc第723行。

cache_get呼叫之前添加这些行。

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

它可能会为您提供有关此问题真正原因的大量信息!


这对我非常有用,我的问题是因为fast404中存在问题。似乎有几种方法可以解决此错误,此技术将有助于调试。谢谢
casivaagustin

乐于助人:)
Etienne

1
我在settings.php中出现语法错误,导致致命错误:调用未定义函数cache_get()。我建议那些有这个问题的人仔细检查他们的settings.php文件。
ndvo

这基本上是针对session.save_handler无法正常工作的PHP最新版本的问题。因此,请从settings.php ini_set('session.save_handler','user');中删除以下行:或用session_set_save_handler(new SessionHandler())替换该行;----------------------------当前行ini_set('session.save_handler','user'); 需要替换为session_set_save_handler(new SessionHandler());
Tapas talukder
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.