Неустранимая ошибка: вызов неопределенной функции 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.
Квт
5
В моем случае Ubuntu был настроен на использование php7 по умолчанию. Drush нужен php5, если ваш сервер также использует php5 ... Попробуйтеsudo ln -sfn /usr/bin/php5 /etc/alternatives/php
Хорхе Орпинел

Ответы:

2

Когда вы вводите drushв командной строке, вы, вероятно, достигли нужного места, чтобы решить вашу проблему. Эта ошибка возникает, когда drushона не актуальна, и это происходит при установке drushиз официального репозитория в Ubuntu.

Обойти это просто: просто установите новую версию drush! И чтобы сделать это, вам нужно установить пакет backports из Ubuntu.

Юсеф
источник
Я также нашел то же решение, я использую Drush 4.6. До какой версии я могу обновиться?
Динеш Кумар Сарангапани
13

Для меня причина была в другом: некоторые ошибки не улавливаются обработчиком ошибок Drupal.

Я использовал a new DateTime()в моем settings.php(вероятно, очень редком) сообщении об ошибке, поскольку date.timezoneнастройки в моем CLI php.iniне были установлены.

Чтобы найти настоящую ошибку (это интересная часть ответа для всех вас, я думаю):

Отредактируйте свою module.incстроку 723.

Добавьте эти строки перед cache_getзвонком.

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

Это может дать вам много информации о реальном источнике проблемы!

Etienne
источник
Это было очень полезно для меня, потому что проблема в fast404. Кажется, есть несколько способов достичь этой ошибки, эта техника поможет отладить. Спасибо
casivaagustin
Этьен
1
У меня была синтаксическая ошибка в settings.php, которая привела к фатальной ошибке: вызов неопределенной функции cache_get (). Я бы предложил тем, у кого есть эта проблема, дважды проверить свой файл settings.php.
18:07
Это в основном для последних версий PHP, где session.save_handler не работает. Поэтому, пожалуйста, удалите нижнюю строку из 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 ());
тапас талукдер