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




ubuntu-9.10 (4)

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

php -m | grep -i memcache
memcached的

所以PHP似乎已经加载memcached作为一个模块,和PHP信息说,它已加载并使用诉.37。 我还没有通过Apache尝试,我现在只通过cli使用它。 有什么想法吗?


Answer #1

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

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

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


Answer #2

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

它看起来像你试图使用一个(“memcache”),但另一个被安装(“memcached”)。


Answer #3

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

sudo apt-get install php5-memcache

Answer #4

我在这篇文章中发现了解决方案: https://.com/questions/11883378/class-memcache-not-found-php#= : https://.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







ubuntu-9.10