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

php -m | grep -i memcache
Memcached

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

76

Решение

Есть два расширения для memcached в PHP:Memcache» а также «Memcached».

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

119

Другие решения

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

sudo apt-get install php5-memcache

НОТА Memcache & Memcached — это два разных, хотя и связанных между собой компонента программного обеспечения, которые часто путают.

РЕДАКТИРОВАТЬ
Поскольку это старый пост, я подумал, что стоит упомянуть, что вы должны заменить php5 с вашим номером версии PHP.

20

Я нашел решение в этом посте: 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

1

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

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

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

0

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

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

brew install memcached
0

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

-6
По вопросам рекламы [email protected]