X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=includes%2Flibs%2Fobjectcache%2FMemcachedPeclBagOStuff.php;h=fe31c258b2a8e6c2295ce3c0ed7293cc82a82e57;hb=ba6c8274856d34f9e524ce66e707f19555c31f1f;hp=e3e66d582617f310f6e54f82d09700e5e0d7dc63;hpb=83b139da98f3851c107f87769346a1ffaaaab125;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/libs/objectcache/MemcachedPeclBagOStuff.php b/includes/libs/objectcache/MemcachedPeclBagOStuff.php index e3e66d5826..fe31c258b2 100644 --- a/includes/libs/objectcache/MemcachedPeclBagOStuff.php +++ b/includes/libs/objectcache/MemcachedPeclBagOStuff.php @@ -140,7 +140,19 @@ class MemcachedPeclBagOStuff extends MemcachedBagOStuff { protected function getWithToken( $key, &$casToken, $flags = 0 ) { $this->debugLog( "get($key)" ); - $result = $this->client->get( $this->validateKeyEncoding( $key ), null, $casToken ); + if ( defined( Memcached::class . '::GET_EXTENDED' ) ) { // v3.0.0 + $flags = Memcached::GET_EXTENDED; + $res = $this->client->get( $this->validateKeyEncoding( $key ), null, $flags ); + if ( is_array( $res ) ) { + $result = $res['value']; + $casToken = $res['cas']; + } else { + $result = false; + $casToken = null; + } + } else { + $result = $this->client->get( $this->validateKeyEncoding( $key ), null, $casToken ); + } $result = $this->checkResult( $key, $result ); return $result; }