下面是我的dev服务器上的ps的grep
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?
发布于 2014-08-20 13:59:46
您混淆了运行在服务器上的梅卡奇服务和php扩展(模缓存和梅卡奇),后者需要与运行中的服务进行对话。
您必须安装其中一个或两个扩展才能在应用程序中使用memcached。(我推荐内存缓存(D)一个。)成功安装扩展名后,使用以下命令在服务器上检查它:
$ php -m | grep memcache如果两个扩展都有,则输出如下:
$ php -m | grep memcache
memcache
memcached在您的示例中,Zend尝试使用memcache扩展(而不是memcached),该扩展可能没有安装在您的机器上。
发布于 2014-08-20 12:46:31
据我所知,memcache不是memcached。检查是否检查正确的扩展(检查memcached)。我没有多少经验,因为我使用redis进行缓存。
发布于 2014-08-20 13:00:31
看起来似乎缺少了php模块,但是守护进程正在运行,当我运行一个php -m时,我不认为memcache是一个已安装的扩展,所以我需要安装它。
@mrarm这个链接确实有帮助!但是memcached的extension_loaded和memcache都返回false,显然我需要memcache,但它的守护进程名为memcached。愚蠢的命名!
https://stackoverflow.com/questions/25404999
复制相似问题