tp3.2.3存储session到db数据库问题

浏览:2836 发布日期:2015/07/28 分类:求助交流 关键字: session db.class.php
我在logincontroller中写入如下
session(C('USER_AUTH_KEY'),$user['user_id']);
session('username',$user['username']);
session('login_time',time());

然后已经在config中设置了
<?php
return array(

'SESSION_TYPE' => 'Db',
);

这样我登录之后,可以在数据库中看到存储信息

然后我在commoncontro中想调用session情况看看

结果却得到:

然后我就发现我数据库中存储的session被清空了


那么问题来了:
1、tp中可以针对session存储到db中。有这个namespace Think\Session\Driver;
中的db。
但是有没有读取的方式?
因为我看到session函数读取的时候只是这样:
}elseif(0===strpos($name,'?')){ // 检查session
$name = substr($name,1);
if(strpos($name,'.')){ // 支持数组
list($name1,$name2) = explode('.',$name);
return $prefix?isset($_SESSION[$prefix][$name1][$name2]):isset($_SESSION[$name1][$name2]);
}else{
return $prefix?isset($_SESSION[$prefix][$name]):isset($_SESSION[$name]);
}
}elseif(is_null($name)){ // 清空session
if($prefix) {
unset($_SESSION[$prefix]);
}else{
$_SESSION = array();
}

还是读取的$_SESSION的值

2、我可以介绍自己写从数据库中拿session值,但是为啥一访问就清空了呢

肯定不是过期的问题。
最佳答案
评论( 相关
后面还有条评论,点击查看>>