Thinkphp6.x 无法使用cookie和session 解决办法

        今天,把学习tp6 过程中,遇到的一个让我爆粗口的坑,向大家说明一下

        遇到了一个很隐晦的一个坑,就是session 不能跨控制器使用,官方文档也没有给出什么注释

咱们先来看看官方的使用方法

​

使用session需要引入session类可以直接使用think\facade\session,
​

这个我就不多说了,需要注意的,坑来了!!!坑来了!!!坑来了!!!

session功能默认是没有开启的(API应用通常不需要使用session),如果你需要使用Seesion,需要在全局的中间件定义文件中加上下面的中间件定义:
 

'think\middleware\sessionInit'

如果是多应用模式,并且你只是用于部分应用,那么也可以在应用中间件定义文件中单独开启。

全局的中间件文件在app目录下middleware.php

里面有session的初始化,默认是注释的,取消注释即可,之后就可以使用session 了,一般开启

composer require topthink/think-multi-app

既然都准备好了,在调试时会不会使用下面这样的内容调试??尤其是登陆需要存储cookie时

echo json_encode();exit;
echo json_encode($arr);die();

下面才是我重点要说的,让我难受香菇的!

        tp6在初始化了session或cookie 后,你如果在session或cookie后使用die 或exit,session或cookie 会消失!!!会消失!!!会消失!!!

解决办法

1、使用Cache替代

2、可以使用原生的$_session ,$_COOKIE替代

        以上这篇thinkphp6.x 无法使用cookie和session 解决办法就是分享给大家的全部内容了,希望能给大家一个参考,这就是花费了我两天时间来调试,为什么cookie没有成功设置进去,让我万分暴躁,终于在刚才,找到了这个原因,希望大家在学习或开发tp6时,不在再踩坑,其他类似tp5,我暂不知道是否也存在这个问题,大家多多避坑


 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值