PHP memcached致命错误:未找到类'Memcache'

时间:2010-04-17 16:08:07

标签: php memcached ubuntu-9.10

我已经粘贴了php.net中的示例,用于在php中使用memcached,我得到了:

Fatal error: Class 'Memcache' not found

我在php.ini中有这个:

  

[内存缓存]
  memcache.hash_strategy =“一致”
  memcache.max_failover_attemps = 100
  memcache.allow_failover = 1

分别来自php -i和php -m的信息:

  

php -i | grep -i memcache
  memcached的
  memcached support =>启用
  libmemcached version => 0.37
  已注册的保存处理程序=>文件用户sqlite memcached

     

php -m | grep -i memcache
  分布式缓存

因此,php似乎已将memcached作为模块加载,并且php信息表明它已加载并正在使用v.37。我还没有通过apache试过,我现在只是通过cli使用它了。有什么想法吗?

6 个答案:

答案 0 :(得分:120)

PHP中有两个memcached扩展,“memcache”和“memcached”。

看起来你正在尝试使用一个(“memcache”),但另一个安装(“memcached”)。

答案 1 :(得分:21)

尽管在评论中接受了接受的答案,但正确的方法是安装' Memcache'是:

sudo apt-get install php5-memcache

注意 Memcache& Memcached是两个截然不同但相关的软件,经常混淆。

修改 由于这是一篇旧帖,我认为值得一提的是你应该用你的php版本号替换 php5

答案 2 :(得分:1)

我在这篇文章中找到了解决方案:https://stackoverflow.com/questions/11883378/class-memcache-not-found-php#=

我找到了PHP 5.4.4的工作dll文件

我不知道他们是否稳定,但他们肯定会工作。积分转到此链接。

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

答案 3 :(得分:0)

右边是 php_memcache.dll 。在我的情况下,我使用的是用vc9而不是vc6编译器编译的lib。在apatche错误日志中,我得到了类似的内容:

  

PHP启动:sqlanywhere:无法启动   初始化模块使用编译的模块   build ID = API20090626,TS,VC9 PHP   使用build ID = API20090626编译,   TS,VC6这些选项需要匹配

检查是否有相同的日志,并尝试下载使用不同编译器编译的不同dll。

答案 4 :(得分:0)

对于OSX用户:

运行以下命令来安装Memcached:

brew install memcached

答案 5 :(得分:-6)

我进入了wp-config /并删除了object-cache.php和advanced-cache.php,它对我来说很好。