session_start(): Cannot send session cache limiter

tp5.0 报错session_start(): Cannot send session cache limiter

一个小错误坑,做个笔记,结果就是将 php.ini里的session.auto_start 设为1

起因:
作用户登录验证时,用captcha_check检查验证码,报错
session_start(): Cannot send session cache limiter,
以前用过tp5框架,不记得报过这种错,且之前的项目captcha现在能正常验证,比对两者的session和captcha的配置,没什么问题,于是网上各种搜索,

1、将config文件里session设置

'auto_start' => true

但下载下来默认就是true

2、因会话存在缓存限制,在php.ini里设

always_populate_raw_post_data = -1

( 由于认为框架里已经设置auto_start为true,且别的项目能正常跑,就没设php.ini的,尴尬)

3、需要开启session_start(),但一般用原生$_SESSION时用到,我这里用的是tp内置Session方法,且也引用里think\Session,大小写问题也注意了,

4、还有一些文件utf8设置问题

5、还有一些权限不够什么的,也试了
。。。

后面不知道怎么想的,就把config里 ‘auto_start’ =>false了,发现不报错了,但是验证码怎么验证都false,

就开始看源码,找到check方法里 $ this->seKey,由于我并没有在config里额外定义seKey,所以不存在与默认设置不同的问题,

在进行 $ secode = Session::get($key, ‘’) 变量调试获取时,直接报错session_start(),由于获取不到该值,所以会判flase结果,所以验证码都fail。

再一试,所有Session的操作都报错,(之前把’auto_start’关闭了,能不错吗),重新打开auto_start,还是报同样的错,最后想起将php.ini里session相关的

session.auto_start=1

居然好了,兜兜转转,小惊喜

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值