首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php extension_loaded('memcache')是假的,但我可以清楚地看到它在服务器上运行。

php extension_loaded('memcache')是假的,但我可以清楚地看到它在服务器上运行。
EN

Stack Overflow用户
提问于 2014-08-20 12:41:21
回答 3查看 1.5K关注 0票数 1

下面是我的dev服务器上的ps的grep

代码语言:javascript
复制
498       1575  0.0  0.0 330852   152 ?        Ssl  Jun14   2:58 memcached -d -p 11211 -u memcached -m 64 -c 1024 -P /var/run/memcached/memcached.pid
498       6446  0.0  0.0 330852   152 ?        Ssl  Jul23   1:09 memcached -d -p 11212 -u memcached -m 64 -c 1024 -P /var/run/memcached-2/memcached-2.pid

所以我可以看到它就在那里,我使用带有'Memcached‘后端的zend,它使用一个extension_loaded('memcache')来查看它是否已经安装。

是因为他们安装了memcached2吗?但是,如果是这样,为什么加载的扩展函数会失败呢?我不太喜欢服务器,但我的猜测是安装过程出了问题?

TL;DR;

为什么当memcached在服务器上运行时,extension_loaded('memcache')返回false?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-08-20 13:59:46

您混淆了运行在服务器上的梅卡奇服务和php扩展(模缓存梅卡奇),后者需要与运行中的服务进行对话。

您必须安装其中一个或两个扩展才能在应用程序中使用memcached。(我推荐内存缓存(D)一个。)成功安装扩展名后,使用以下命令在服务器上检查它:

代码语言:javascript
复制
$ php -m | grep memcache

如果两个扩展都有,则输出如下:

代码语言:javascript
复制
 $ php -m | grep memcache
   memcache
   memcached

在您的示例中,Zend尝试使用memcache扩展(而不是memcached),该扩展可能没有安装在您的机器上。

票数 4
EN

Stack Overflow用户

发布于 2014-08-20 12:46:31

据我所知,memcache不是memcached。检查是否检查正确的扩展(检查memcached)。我没有多少经验,因为我使用redis进行缓存。

链接:Memcache Vs。梅卡奇

票数 3
EN

Stack Overflow用户

发布于 2014-08-20 13:00:31

看起来似乎缺少了php模块,但是守护进程正在运行,当我运行一个php -m时,我不认为memcache是一个已安装的扩展,所以我需要安装它。

@mrarm这个链接确实有帮助!但是memcached的extension_loaded和memcache都返回false,显然我需要memcache,但它的守护进程名为memcached。愚蠢的命名!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25404999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档