繁体   English   中英

PHP memcached 致命错误:找不到“Memcache”类

[英]PHP memcached Fatal error: Class 'Memcache' not found

我已经从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 内存缓存
内存缓存
memcached 支持 => 已启用
libmemcached 版本 => 0.37
注册保存处理程序 => 文件用户 sqlite memcached

php -m | grep -i 内存缓存
内存缓存

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

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

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

不管评论中接受的答案是什么,安装“Memcache”的正确方法是:

sudo apt-get install php5-memcache

注意Memcache 和 Memcached 是两个不同但相关的软件,它们经常被混淆。

编辑由于这是一个旧帖子,我认为值得一提的是您应该用您的 php 版本号替换php5

我在这篇文章中找到了解决方案: 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

右边是php_memcache.dll 就我而言,我使用的是用 vc9 编译的 lib 而不是 vc6 编译器。 在补丁错误日志中,我得到了类似的信息:

PHP 启动:sqlanywhere: Unable to initialize module Module installed with build ID=API20090626, TS,VC9 PHPcompiled with build ID=API20090626, TS,VC6 这些选项需要匹配

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

对于 OSX 用户:

运行以下命令安装 Memcached:

brew install memcached

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM