当前位置:Gxlcms > PHP教程 > php无法操作memcache

php无法操作memcache

时间:2021-07-01 10:21:17 帮助过:22人阅读

我phpinfo()里面显示有memcache了 memcached服务也起了 为何php代码还是不能操作memcache? 不知道该从何排查问题了,在此请教,先谢过。
$memcache = new Memcache();//var_dump($memcache->connect('localhost', 11211));die;if (!$memcache->connect('localhost', 11211))  die('could not connect');$memcache->set('key', 'test');$get_value = $memcache->get('key');echo $get_value;       

网页访问这个php返回absorted状态


回复讨论(解决方案)

phpinfo()里面显示有memcache了 memcached服务也起了

memcache与memcached是不同的。

后台进程确认一下服务器端是否正常

phpinfo()里面显示有memcache了 memcached服务也起了

memcache与memcached是不同的。




memcache是客户端,memcached是服务端服务
我说 phpinfo()里面显示有memcache了,就是想表达php的memcache扩展我已经安装上了。
现在的问题就是 扩展装了,服务起了,php还是没法操作memcache~

后台进程确认一下服务器端是否正常



我确认了,服务端是正常的。
我用telnet localhost 11211能正常连接memcache并且进行存储读取的操作。

现在的问题时 php无法操作memcache。

absorted状态 应该是客户端断开了,而不是服务端断你开了
多发生与浏览器中

仅php代码不会是这样的
建议你先确定 php 的错误检查没有被关闭,错误显示是打开的

absorted状态 应该是客户端断开了,而不是服务端断你开了
多发生与浏览器中

仅php代码不会是这样的
建议你先确定 php 的错误检查没有被关闭,错误显示是打开的



connect('localhost', 11211))  die('could not connect');$memcache->set('key', 'test');$get_value = $memcache->get('key');echo $get_value;


加上第五行die(); 浏览器就不是absorted状态,返回object(Memcache)#1 (0) { }
再后续调试 发现问题时出在$memcache->connect 这里,这一段导致了absorted吧

把 localhost 改成 127.0.0.1 看看

另外 echo $memcache->getVersion();
也可以看到是否正常

另外 echo $memcache->getVersion();
也可以看到是否正常



改成localhost也还是同样的错误
$memcache = new Memcache();
echo $memcache->getVersion();

这样的话会出: Warning: MemcachePool::getversion(): No servers added to memcache connection in xxx line 5
我尝试$memcache = new Memcache();$memcache->addserver('127.0.0.1', 11211); 依然absorted

$memcache = new Memcache();
$memcache->connect('localhost', 11211);
echo $memcache->getVersion();
如果未连接上,就会报错

我重新下了个stable 版的memcache解决了问题

下载地址:http://pecl.php.com/package/memcache

人气教程排行