PHP memcached Фатальная ошибка: класс 'Memcache' не найден - PullRequest
77 голосов
/ 17 апреля 2010

Я вставил пример из 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
Зарегистрированные обработчики сохранения => файлы пользователя sqlite memcached

php -m | grep -i memcache
Memcached

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

Ответы [ 6 ]

120 голосов
/ 17 апреля 2010

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

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

21 голосов
/ 23 июня 2015

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

sudo apt-get install php5-memcache

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

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

1 голос
/ 22 июля 2013

Я нашел решение в этом посте: https://stackoverflow.com/questions/11883378/class-memcache-not-found-php#=

Я нашел рабочие 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

0 голосов
/ 22 октября 2018

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

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

brew install memcached
0 голосов
/ 10 мая 2015

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

0 голосов
/ 28 декабря 2010

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

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

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

...