ThinkPHP中:多个项目共享同一个session问题

使用ThinkPHP3.1.3版本的session时,多个项目同时调试会使得一维数组式的session不够用,导致在A项目登录后台后,在B项目就不用登录后台就可以进入后台操作了。

问题在于他们都调用同一个session文件sess_d55a5f55db022fb119fc38193c4cecac。我不知道怎么去定义这个文件的命名方式。但是,我找到了解决多个项目共享同一个session但又不相互冲突的方法。这个方法的原理就是,将session变为二维数组。具体操作是在配置文件中加上session前缀(命名方式最好是sess+项目名)

1     //session前缀
2     'SESSION_PREFIX'=>'mysessA',

再以二维session使用

取值

 1 $_SESSION[C('SESSION_PREFIX')]['uid']; 

对应的退出登录

1     public function loginOut(){
2         $_SESSION[C('SESSION_PREFIX')]=null;
3         $this->redirect(GROUP_NAME.'/Login/index');
4     }
原文地址:https://www.cnblogs.com/andy9468/p/4265221.html