thinkphp中关于session的使用

发布于 2022-09-06 02:13:28 字数 201 浏览 11 评论 0

在LoginController中设置了session(‘eid’,$oo['eid']),其中$oo['eid']的值是从数据库中取出的,确定有值。当在另一个控制器中用$ee = session('eid')的获取这个eid的值的时候,发现获取不到。session不是全局变量吗?为什么在两个不同的控制器中不能共同使用定义好的session的值呢?麻烦大家知道的帮忙回答一下,非常感谢。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

疯狂的代价 2022-09-13 02:13:28

打印下是不是根据控制器加了前缀

懒的傷心 2022-09-13 02:13:28

直接打印$_SESSION看看里面有没有,可能tp设置了前缀....

ぺ禁宫浮华殁 2022-09-13 02:13:28

1.用session('?eid')看看是否值是否已经设置
2.session取值是否少了引号
3.看看session是否被删除

羁〃客ぐ 2022-09-13 02:13:28

使用$_SESSION来查看所有的session信息

紫轩蝶泪 2022-09-13 02:13:28

首先,有几点问题在你的问题中没有描述清楚。
1、您使用的TP版本,3 OR 5?
2、本地环境 OR 线上环境?
3、是否使用了Nginx等反向代理?
4、是否受权限影响,没有将session信息写入session存储媒介内

以下针对以上几点的假设做分析
1、如为TP5,则SESSION存在作用域的概念,确保你的session读和session写是在同一个作用域。
thinkphp5.0 session参考链接

2、如果使用了Nginx等反向代理,确保每次请求均访问同一台服务器。
如果是多台服务器,请在upstream中,增加ip_hash
nginx配置ip_hash参考链接

3、确保当前环境拥有写入权限,不论是本地开发环境,还是线上生产环境,请在php.ini确认session存储位置,并确认拥有写入权限。
php无法保存Session的参考链接

以上分析希望对您有所帮助或者学习价值,纯属手打

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文