解决方案 »

  1. phpinfo()里面显示有memcache了 memcached服务也起了memcache与memcached是不同的。
      

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


  3. 我确认了,服务端是正常的。
    我用telnet localhost 11211能正常连接memcache并且进行存储读取的操作。现在的问题时  php无法操作memcache。   
      

  4. absorted状态 应该是客户端断开了,而不是服务端断你开了
    多发生与浏览器中仅php代码不会是这样的
    建议你先确定 php 的错误检查没有被关闭,错误显示是打开的
      

  5. <?php
    ini_set('display_errors', 1);
    $memcache = new Memcache();
    var_dump($memcache);
    die();//加上这一行浏览器访问就不是absorted状态
    if (!$memcache->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吧
      

  6. 把 localhost 改成 127.0.0.1 看看
      

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


  8. 改成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
      

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

  10. 我重新下了个stable 版的memcache解决了问题下载地址:http://pecl.php.net/package/memcache
      

类似问题 »