我已经粘贴了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 memcachedphp -m | grep -i memcache
分布式缓存
因此,php似乎已将memcached作为模块加载,并且php信息表明它已加载并正在使用v.37。我还没有通过apache试过,我现在只是通过cli使用它了。有什么想法吗?
答案 0 :(得分:120)
答案 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,它对我来说很好。