Drupal - фатальная ошибка: класс 'Memcache' не найден - PullRequest
3 голосов
/ 14 декабря 2009

Я установил Drupal на моем локальном хосте. Это работало хорошо 2 месяца назад, но теперь что-то случилось, и я не знаю почему. Я буду очень благодарен, если вы сможете мне помочь. Заранее спасибо.

Полная ошибка выглядит следующим образом:

Неустранимая ошибка: класс 'Memcache' нет нашел в /srv/www/htdocs/modules/memcache/dmemcache.inc по линии 177

1) php -m дает следующее:

[Модули PHP]
BZ2
CType
дата
дом
фильтр
Г.Д.
Хэш
Iconv
* 1021 JSON * LibXML
MBstring
Mcrypt
MySQL
MySQLi
PCRE
PDO
PDO_MySQL
Pdo_Sqlite
Отражение сессии SimpleXML SPL SQLite стандартный sysvsem токенайзер xml xmlreader xmlwriter zip zlib

[Zend Модули] доли не имеет

2) memcached устанавливается через менеджер пакетов.

3) установлен модуль memcache для drupal

что я делаю не так? ТНХ.

Ответы [ 6 ]

4 голосов
/ 16 декабря 2009

Я согласен с googletorp, что проблема заключается в установке memcache. Попробуйте это:

#if apt-get, rpm, or yum doesn't work
cd /usr/src/
wget http://pecl.php.net/get/memcache-2.2.4.tgz
tar -zxvf memcached-2.2.4.tgz
cd memcached-2.2.4
phpize && ./configure --enable-memcache && make
cp modules/memcache.so /usr/lib/php/modules/

# Note: packaged extension modules are now loaded via the .ini files
# found in the directory /etc/php.d
touch /etc/php.d/memcached.ini
echo 'extension=memcache.so' > /etc/php.d/memcached.ini

service httpd restart

Вышеуказанная процедура была жестоко скопирована с комментариев на страницу официальной документации 1005 * Дата от 11.12.09.

2 голосов
/ 19 августа 2011

Сотрудник помог мне сегодня с этой проблемой, я использую Drupal & Drush (инструмент командной строки), а иногда и MAMP.

Попытка:

echo $PHPRC

Если оно пустое, сохраните его в файле конфигурации ~ / .profile или * ~ / .bash_profile *:

export PHPRC='/Library/Application Support/appsolute/MAMP PRO/conf/php.ini'
1 голос
/ 02 января 2010

Большое спасибо за ваши ответы - я в конце концов справился с этой проблемой. Вот решение для openSUSE 11.1.

  1. Установка расширение memcache для php :

    #if apt-get, rpm, or yum doesn't work
    cd /usr/src/
    wget http://pecl.php.net/get/memcache-2.2.5.tgz
    tar -zxvf memcache-2.2.5.tgz
    cd memcache-2.2.5
    phpize5
    ./configure --enable-memcache
    make
    make install
    cp modules/memcache.so /usr/lib/php5/extensions/
    
    # Note: packaged extension modules are now loaded via the .ini files
    # found in the directory /etc/php5/conf.d/
    touch /etc/php5/conf.d/memcache.ini
    echo 'extension=memcache.so' > /etc/php5/conf.d/memcache.ini
    

    теперь вам нужно перезапустить службу apache2

  2. Установите memcached демон для php и запустите его как демон.

  3. Установить плагин memcache для drupal (все инструкции здесь: http://drupal.org/project/memcache)

UPD . Будьте осторожны с обновлением PHP: встроенные модули могут не работать с новой версией - вы должны перекомпилировать их. но каким-то образом "груша установить -f pecl / memcache" сделал свое дело для меня:)

0 голосов
/ 17 декабря 2009

я полагаю, что memecache может быть установлен на вашем компьютере, но он неправильно скомпилирован с PHP была эта проблема раньше с memecache. проверьте здесь для более подробной информации

0 голосов
/ 17 декабря 2009

Может быть достаточно просто добавить extension=memcached.so к вашему php.ini. Расположение этого файла можно найти с помощью phpinfo();

Убедитесь, что перезапустите apache после этого.

0 голосов
/ 15 декабря 2009

Кажется, ваш модуль memcache drupal ожидает, что класс будет доступен в упомянутом inc-файле.

  • Вы обновили свой модуль drupal?
  • В таких случаях полезно посмотреть очередь вопросов для модуля на drupal.org.

Похоже, проблема в модуле drupal. Я думаю, что обновление прошло не так.

EDIT:
Я посмотрел на модуль, я был на моем iphone, поэтому не мог просмотреть код. Ваша проблема в том, что Drupal не может найти класс Memcache. Это исправление определено на втором этапе процесса установки.

2. Установите расширение PECL memcache для PHP. Это должна быть версия 2.2.1 или выше или вы будете иметь ошибки.

Либо вы упустили это сейчас, либо что-то не так с установкой. В любом случае, Drupal не может найти Memcache, который определен в этом расширении, и именно поэтому вы получаете фатальную ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...