首页 > 代码库 > ThinkPHP中:多个项目共享同一个session问题

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     }

 

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