最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 系统登录失效,session/cache无法写入的问题

    正文概述 转载于:掘金(Jessica)   2021-07-05   380

    1,情景描述:系统登录后一直显示登录失效,请重新登录,后面查出来是登录的用户信息为空了,所以一直弹出登录失效,而用户信息是存储在session里面的,最早之前是存放在cache里面的,cache也写不进去后就换的session,在登录的操作中存放用户信息之前一直是可以打印出来的,session::set进session后紧接着就用session::get获取打印,发现一直为空,于是查看配置文件查看session存储在哪里,以什么形式存储,session是以file文件形式存储的,存在/tmp或/var/lib/php/session,查到存储的路劲后发现虽然生成的session文件,但一直是0k,意味着一直没有写进去,检查了权限是没有问题的,于是就查了系统的磁盘内存使用情况,发现磁盘内存满了,之后就清理了一些时间比较早的日志,留了近10G左右,发现还是写不进去。

    1)查看磁盘使用情况

    系统登录失效,session/cache无法写入的问题

    2)尝试通过$_SESSION 存储数据,发现是可以存进去的

    系统登录失效,session/cache无法写入的问题

    系统登录失效,session/cache无法写入的问题

    3)看看tp5框架封装过的session:set ,底层用的是不是_SESSION,路劲:core/library/think/Session.php,发现框架封装里面的set方法出了问题,作用域的参数值呗改成了86400,导致setsession的时候,都设置到86400的数组里面去了,Session::set走的就是\_SESSION,路劲:core/library/think/Session.php,发现框架封装里面的set方法出了问题,作用域的参数值呗改成了86400,导致setsession的时候,都设置到86400的数组里面去了,Session::set 走的就是 _SESSION,路劲:core/library/think/Session.php,发现框架封装里面的set方法出了问题,作用域的参数值呗改成了86400,导致setsession的时候,都设置到86400的数组里面去了,Session::set走的就是_SESSION,只不过 set的时候,写入的地址是 \_SESSION\['86400'\]\['xxxx'\] = 'xxxx'; 读取的时候是 _SESSION['think']['xxxx'],所以改回null。

    系统登录失效,session/cache无法写入的问题

    系统登录失效,session/cache无法写入的问题

    上面代码截图红色部分,如果是null的话,他默认会取self::prefix,这个self::prefix,这个self::prefix,这个self::prefix 就是在初始化的时候会设置为 config.php里面配置的“think“。

    3)cache写不进去的原因:是因为redis出问题了,因为磁盘满了导致redis即使重启了,仍然无法set 数据进去,会报以下错误:

    “(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.”。

    解决方法:登录redis进去后运行一下:config set stop-writes-on-bgsave-error no 就可以了。

    以上问题基本都是因为磁盘内存满导致的,后续买个redis,把cache 和session都迁移到 redis避免磁盘内存满而导致的问题


    起源地下载网 » 系统登录失效,session/cache无法写入的问题

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元