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 поддержка => включен
libmemcached версия => 0.37
Зарегистрированные обработчики сохранения = > файлы пользователя SQLite memcachedphp-m | grep-i memcache
как memcached
таким образом, php, похоже, загрузил memcached как модуль, и php info говорит, что он загружен и использует v .37. Я еще не пробовал через apache, я только использовал это через cli прямо сейчас. Есть мысли?
5 ответов
есть два расширения для memcached в PHP,"memcache для" и "memcached".
похоже, вы пытаетесь использовать один ("memcache"), но другой установлен ("memcached").
Dispite то, что принятый ответ говорит в комментариях, правильный способ установить "Memcache":
sudo apt-get install php5-memcache
Примечание Memcached & Memcached-это две разные, хотя и связанные части программного обеспечения, которые часто путают.
редактировать Поскольку это теперь старый пост, я подумал, что стоит упомянуть, что вы должны заменить рнр5 с номером версии 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: невозможно инициализировать модуль модуль, скомпилированный с идентификатор сборки=API20090626,TS, VC9 PHP скомпилировано с идентификатором сборки=API20090626, TS, VC6 эти параметры должны соответствовать
проверьте, есть ли у вас тот же журнал и попробуйте загрузить другую dll, которые скомпилированы с другой компилятор.