2015-08-19 11:12:29 9002次浏览 2条回答 0 悬赏 10 金钱

问题1:在使用session时候用不用写session->open()
因为我写的时候无论有没有session->open()都可以用session

问题2:当我设置了$session->setCookieParams(['lifetime'=>'1200']);
session的时间是不是就是20分钟(1200s)?

问题3,当我使用session记录我的登录状态,并想退出的时候,我使用 $session->destroy();
并没有用,最后我只能使用,$session->removeall();来删除我刚刚用session记录的数据,但是这样只是删除了数据,session并没有被销毁啊

最佳答案

  • koko 发布于 2015-08-19 11:47 举报

    问题3,session删除了数据 不等于 销毁 ?
    session的作用不就是保存数据,数据都删除了,留下一个id,又有何用?

    4 条回复
    回复于 2015-08-19 14:53 回复

    话是这么说,这么操作也没有问题,问题是为什么destroy()没有用?

    回复于 2015-08-19 15:00 回复

    你是如何发现它没有用的?

    回复于 2015-08-19 15:11 回复

    是这样的,我登录的时候吧username存到了session里面 $session['username'] = $this->username;然后点退出的时候就在另外一个action下面调用了一下destroy(),并没有删除数据,然后我才用的removeall

    回复于 2015-08-19 19:09 回复

    这个还是我理解不深刻,问题本身提的就有问题,应该这样写, $lifetime=600;

                session_set_cookie_params($lifetime);
                $session = Yii::$app->session;
                $session->open();
    

    这样的话,到了10分钟cookie就过期了,这样的话session文件就没有用了,服务器就会定期删除,destroy没有什么意义

您需要登录后才可以回答。登录 | 立即注册
xjx7514329
见习主管

xjx7514329

注册时间:2015-01-28
最后登录:2017-02-10
在线时长:9小时8分
  • 粉丝2
  • 金钱345
  • 威望0
  • 积分435

热门问题