PHP memcached Fatal error: Class 'Memcache' не найден

Я вставлял пример из php.net для использования memcached в php, и я получаю:

Fatal error: Class 'Memcache' not found

У меня это в моем php.ini:

[Memcache]
memcache.hash_strategy = "последовательно"
memcache.max_failover_attemps = 100
memcache.allow_failover = 1

Здесь информация из php -i и php -m соответственно:

php -i | grep -i memcache
Memcached
Поддержка memcached = > включена версия libmemcached = > 0.37
Зарегистрированные save handlers = > файлы user sqlite memcached

php -m | grep -i memcache
Memcached

Итак, php, похоже, загрузил memcached в качестве модуля, а php-информация говорит, что он загружен и использует v.37. Я еще не пробовал через apache, я только использовал это через кли прямо сейчас. Любые мысли?

Ответ 1

В PHP есть два расширения для memcached: memcache "и" memcached".

Похоже, вы пытаетесь использовать один ( "memcache" ), но другой установлен ( "memcached" ).

Ответ 2

Несмотря на то, что принятый ответ говорит в комментариях, правильный способ установки "Memcache":

sudo apt-get install php5-memcache

ПРИМЕЧАНИЕ. Memcache & Memcached - это два разных, хотя и связанных с ними, программного обеспечения, которые часто путаются.

EDIT. Поскольку это теперь старый пост, я подумал, что стоит упомянуть, что вы должны заменить php5 на свой номер версии php.

Ответ 3

Я нашел решение в этой статье: fooobar.com/questions/76954/...

Я нашел рабочие DLL файлы для PHP 5.4.4

Я не знаю, как они стабильны, но они работают наверняка. Кредиты идут по этой ссылке.

http://x32.elijst.nl/php_memcache-5.4-nts-vc9-x86.zip

http://x32.elijst.nl/php_memcache-5.4-vc9-x86.zip

Это версия 2.2.5.0, которую я заметил после ее компиляции (для PHP 5.4.4).

Обратите внимание, что это не 2.2.6, но работает. Я также отразил их на своем FTP. Зеркальные ссылки:

http://mustafabugra.com/resim/php_memcache-5.4-vc9-x86.zip http://mustafabugra.com/resim/php_memcache-5.4-nts-vc9-x86.zip

Ответ 4

Право php_memcache.dll. В моем случае я использовал lib, скомпилированный с vc9 вместо компилятора vc6. В журналах ошибок apatche я получил что-то вроде:

PHP Startup: sqlanywhere: не удается Модуль инициализации Модуль, скомпилированный с build ID = API20090626, TS, VC9 PHP скомпилированный с идентификатором сборки = API20090626, TS, VC6 Эти параметры должны соответствовать

Проверьте, есть ли у вас один журнал и попробуйте загрузить другую dll, скомпилированную с помощью другого компилятора.

Ответ 5

Для пользователей OSX:

Для установки Memcached выполните следующую команду:

brew install memcached

Ответ 6

Я зашел в wp-config/и удалил object-cache.php и advanced-cache.php, и он отлично работал у меня.