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     }
时间: 2024-10-09 18:05:03

ThinkPHP中:多个项目共享同一个session问题的相关文章

同一个tomcat多个项目共享session,一个tomcat两个项目共享sessionId

同一个tomcat多个项目共享session,一个tomcat两个项目共享sessionId >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ?Copyright 蕃薯耀 2017年7月12日 http://www.cnblogs.com/fanshuyao/ 一个是2个项目,一个是web-sess

同一个Tomcat下不同项目之间的session共享

最近发现项目运行过程中经常会抛出一个 NullPointerException的异常,经检查发现异常出现的地方是日志模板,一阵检查,正常无误 (把所有记录日志的地方都点了一遍,心里是崩溃的),万念俱灰下突然想起来还有一个项目的业务也连接到这个项目,抱着试试的心态去那里 执行了下方法,果然,异常出现了,项目A里获取不到项目B的session.无奈,根据资料做了个session共享,具体方法如下: 项目名称 A:testA,B:testB 1 : 修改Tomcat---conf----server.

tomcat session共享: 同tomcat不同项目之间的session共享

有时我们会遇到一个大点的项目,为了方便实现有些功能,我们会把项目拆成不同的独立web项目. 但我们在管理这些项目时,只有一个登陆口,然后在其他项目取session来实现身份的验证. 查看tomcat 关于 HTTP Connector中有个emptySessionPath 其解释如下: If set to true, all paths for session cookies will be set to /. This can be useful for portlet specificati

Laravel项目和其它项目共享session问题

我这边总结一下,也许以后有人会需要,其实Laravel的session并不是用PHP自带的session管理器.而是完完全全自己实现了一个.注意是完完全全自己实现的,并不是传统意义上用session_set_save_handler自定义的session处理器. 所以解决 和另一个ThinkPHP项目的session共用 的问题就很简单了~在Laravel中启动PHP自带的session就好了,也就是session_start. 这是他们的代码注释 "Note that the Laravel

Asp.net mvc 中处理同一个session的并行请求的问题

首先来一个小的asp.net mvc 4的sample,代码如下: HomeController: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.SessionState; namespace MvcApplication2.Controllers { public class HomeContr

ThinkPHP中Session用法详解

在ThinkPHP封装了Session类,用户可以直接使用,常用的方法有: Session::set(name, value):注册 session . Session::is_set(name):检查Session的值是否设置. Session::get(name):读取 session . Session::clear():清空Session. Session::destroy():销毁 session . ThinkPHP 默认开启了 session 会话,因此在使用 Session 类之

【转】asp.net中利用session对象传递、共享数据[session用法]

来自:http://blog.unvs.cn/archives/session-transfer-method.html 下面介绍Asp.net中利用session对象传递.共享数据用法: 1.传递值: 首先定义将一个文本值或单独一个值赋予session,如下: session["name"]=textbox1.text:将文本1的值赋给了session变量name,当调查到其它页面时,此值可以传递,依然存在,下面是调用或判断此值. If(session["name"

ThinkPHP中的视图二

ThinkPHP中的视图 1.模板注释 在实际项目开发中,经常要使用注释功能,如果是ThinkPHP框架,则可以在模板文件中使用如下方式进行注释: {// 注释内容 } :单行注释 {/* 注释内容 */ } :多行注释 ? 示例代码: 运行以上代码可知:ThinkPHP框架中的模板注释属于服务端注释,并不会显示输出在客户端浏览器. 2.fetch获取模板内容 在实际项目开发中,如果我们只想获取模板内容但又不输出,那这个时候可以考虑使用fetch方法进行实现. $this->fetch() :①

ThinkPHP中的视图

ThinkPHP中的视图View 1.什么是视图View 所谓的视图就是用户可视化操作界面. 2.视图View组成 view类(模板引擎类似Smarty) 模板文件(html模板) 3.视图的定义 默认视图的定义规则: ./项目目录/Home或Admin模块下的View文件夹/Public控制器名称/login操作方法.html ① 在控制器中定义相关操作方法,如下图所示: ② 在./Application/Admin/View/Public文件夹下创建login.html模板文件 ③ 显示效果