关于yii2.0的session问题 [ 2.0 版本 ]
问题1:在使用session时候用不用写session->open()
因为我写的时候无论有没有session->open()都可以用session
问题2:当我设置了$session->setCookieParams(['lifetime'=>'1200']);
session的时间是不是就是20分钟(1200s)?
问题3,当我使用session记录我的登录状态,并想退出的时候,我使用 $session->destroy();
并没有用,最后我只能使用,$session->removeall();
来删除我刚刚用session记录的数据,但是这样只是删除了数据,session并没有被销毁啊
最佳答案
-
问题3,session删除了数据 不等于 销毁 ?
session的作用不就是保存数据,数据都删除了,留下一个id,又有何用?共 4 条回复xjx7514329 回复于 2015-08-19 14:53 回复话是这么说,这么操作也没有问题,问题是为什么destroy()没有用?
@xjx7514329 你是如何发现它没有用的?
xjx7514329 回复于 2015-08-19 15:11 回复@koko 是这样的,我登录的时候吧username存到了session里面 $session['username'] = $this->username;然后点退出的时候就在另外一个action下面调用了一下destroy(),并没有删除数据,然后我才用的removeall
xjx7514329 回复于 2015-08-19 19:09 回复@koko 这个还是我理解不深刻,问题本身提的就有问题,应该这样写, $lifetime=600;
session_set_cookie_params($lifetime); $session = Yii::$app->session; $session->open();
这样的话,到了10分钟cookie就过期了,这样的话session文件就没有用了,服务器就会定期删除,destroy没有什么意义
其他 1 个回答
xjx7514329
注册时间:2015-01-28
最后登录:2017-02-10
在线时长:9小时8分
最后登录:2017-02-10
在线时长:9小时8分
- 粉丝2
- 金钱345
- 威望0
- 积分435