PHP memcached фатальная ошибка: класс 'Memcache' не найден


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

Fatal error: Class 'Memcache' not found

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

[memcache]
memcache.hash_strategy = "consistent"
memcache.max_failover_attemps = 100
memcache.allow_failover = 1

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

php-i / grep-i memcache
memcached
memcached поддержка => включен
DocBook в различные форматы версии => 0.37
Зарегистрированные обработчики сохранения = > файлы пользователя sqlite memcached

php-m / grep-i memcache
memcached

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

5 74

5 ответов:

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

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

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

sudo apt-get install php5-memcache

Примечание Memcached & Memcached-это две разные, хотя и связанные части программного обеспечения, которые часто путают.

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

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

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

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

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

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