从 PHP7 的某个版本开始(我无法确定确切的版本)。
$cas_token
不再是有效的参数。它已被移除,取而代之的是 flags 参数,因为它在对 Memcached 类进行子类化时似乎会导致问题。
有关更多详细信息,请参阅 https://github.com/php-memcached-dev/php-memcached/pull/214。
基本上你需要
<?php
function memcacheGet($key, $cb = null, &$cas = null) {
$m = memcacheGetObject();
if(empty($m))
return false;
if(defined('Memcached::GET_EXTENDED')) {
//PHP7 中不兼容的更改,我花了 2 个小时才弄清楚,真是气人
$_o = $m->get($key, $cb, Memcached::GET_EXTENDED);
$o = $_o['value'];
$cas = $_o['cas'];
} else {
$o = $m->get($key, $cb, $cas);
}
return $o;
}
?>