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

jpf*_*es2 79 php memcached ubuntu-9.10

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

Fatal error: Class 'Memcache' not found
Run Code Online (Sandbox Code Playgroud)

我在我的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 support => enabled
libmemcached version => 0.37
注册保存处理程序=>文件用户sqlite memcached

php -m | grep -i memcache
memcached

所以php似乎已经将memcached加载为一个模块,并且php信息说它已加载并且正在使用v.37.我还没有通过apache试过,我现在只是通过cli使用它了.有什么想法吗?

Cha*_*les 122

PHP中的memcached有两个扩展名," memcache "和" memcached ".

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

  • 好的,我发现了一个简单的修复(因为其他一切似乎都不起作用).只需运行此命令:sudo aptitude install memcached php5-memcached (7认同)
  • 它有点愚蠢,但它在PHP中是一个不幸的频繁模式.他们只是创建了一个新的扩展,而不是更新较旧的扩展以更好的方式处理更新的事情,而是向后打破compt.另见mysql和mysqli. (4认同)

Phi*_*ley 21

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

sudo apt-get install php5-memcache
Run Code Online (Sandbox Code Playgroud)

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

编辑 因为这是一个旧帖子我认为值得一提的是你应该用你的php版本号替换php5.