open --> read --> register_shutdown_function --> write --> close但在利用Memcache时,在read 中调用get,如果不存在就会返回false,导致write 的不调用:
function read($sid) {
// 返回key对应的存储元素的字符串值或者在失败或key未找到的时候返回FALSE。
return $this->obj->get($sid);
}
正确的处理方式应该是:function read($sid) {
return strval($this->obj->get($sid));
}
见read 函数的说明:
链接:http://php.net/manual/zh/function.session-set-save-handler.php
read(string $sessionId)
如果会话中有数据,read 回调函数必须返回将会话数据编码(序列化)后的字符串。 如果会话中没有数据,read 回调函数返回空字符串。