2010-08-16 3 views
0

모든 이봐, 여기 Memcached가가 (1.2.2) 는 PECL Memcached가 클라이언트 1.0.2PHP Memcached가 CAS (확인 설정) 문제

문제 (libmemcached 0.43를 사용) 내 현재 설치 버전입니다 : 내가 캔트 get 요청 중에 반환 된 cas 토큰을 받으십시오.

여기에 문제의 코드가 있습니다!

27 public function action_test() { 
28  //phpinfo(); 
29  $m = Model_Mem::getSingleton(); 
30  $found = $m->get('navigation'); 
31  echo (int)count($found).'<br />'; // Returns an array of navigation objects 
32 
33  $cas = 0; 
34  $found = $m->get('navigation', null, &$cas); 
35  echo (int)count($found); // Returns nothing! 
36 
37  exit; 
38 } 

제 에코로부터의 출력이 7이고, 두 번째 에코는 $ CAS 변수뿐만 아니라, 코드의 두 번째 그룹에서 $ 발견 변수가 모두 비어있는도 1이다. 나는이 권리를하고 있지만 100 % 확신하지 못하는데, 단지 나던 케스 토큰이 나를 위해 일하는 것 같다. Ive는 내가 쉽게 발견 할 수있는 CAS 인 에이블 플래그의 어떤 종류에 대한 언급없이 PHP Memcached 문서를 검토했습니다. 필자는 또한 memcached.org 사이트를 보려고했지만 정보가 손실되었습니다.

필자는 결코 그걸로 아무런 문제가 없었고, 그럴 때마다 나는 캐스 기능을 사용하여 요청을 받았다. 나는 잘못된 것을한다. 나를 도와 주신 모든 분들께 감사드립니다!

은 * 여기에 편집 는 Model_Mem :: getSingleton() 함수는 아직이 기능을하지 않았다

static function getSingleton() { 
    if (self::$m) 
     return self::$m; 

    self::$m = new Memcached(); 

    $servers = array(
     array('127.0.0.1', 11211, 25), 
     array('127.0.0.1', 11212, 25), 
     array('127.0.0.1', 11213, 25), 
     array('127.0.0.1', 11214, 25) 
    ); 

    // Sets up some options for the memcache server 
    self::$m->setOption(Memcached::OPT_DISTRIBUTION,Memcached::DISTRIBUTION_CONSISTENT); 
    self::$m->setOption(Memcached::OPT_PREFIX_KEY, Kohana::config('globals.prefix')); 
    self::$m->addServers($servers); 

    return self::$m; 
    } 
+0

Model_Mem이란 무엇입니까? Model_Mem-> get() 함수는 어떻게 구현됩니까? –

+0

Model_Mem :: getSingleton()은 memcached 객체를 반환합니다. http://php.net/manual/en/book.memcached.php. 나는 더 많은 정보를 가지고 질문을 편집했다. 도와 줘서 고마워. – Shawn

답변

0

의 Arg, 데비안의 최신 [보안] memcached와 자료를 반환 것입니다. memcached 서버의 소스를 설치하여 최신으로 업그레이드하면 모든 것이 잘됩니다.