Linux下Session丢失原因

      最近碰到一个问题,把代码迁移到linux系统下,重新搭建php环境,运行代码,

在登录页面时,不能访问后台,会返回到登录页面,对代码测试,没有报任何错误,

最后检查到是跳转时,session丢失的问题,如何会丢失呢?带着这个问题,查了大量资料,

发现造成这个原因有这几种:

   1.session存储路径(目录)不存在,自然就无法生成session临时文件

   2.session存储路径下有没有权限,如果没有,也就不可能存储session数据

   3.能正常存session数据,但session存入后被清空

解决方案:

    首先,在项目根目录下创建phpinfo.php文件,在文件中写入phpinfo(),运行此文件,查看页面,

就可以找到session的存储路径,

    其次,进入linux中查找session存储路径是否存在,不存在创建存储目录,并分配权限,

如果有session存储路径,就查看其是否有权限,没有就分配权限,

   最后,是否是第三个原因,可在phpinfo.php页面中查找date.timezone是否设置不对,

然后在php.ini配置文件中找到date.timezone进行配置

  我的项目中遇到的就是第一种情况,因而,我就创建存储目录,并分配权限,问题就解决了。

希望本编博客对大家能有所帮助。

  最后,提醒下各位,不要在配置文件中找session存储路径,上述方法找的session存储路径准确,

我花了大量时间才解决问题就是配置文件中的session存储路径和上述方法找到的session存储路径不同,

所以才一直没有解决问题。

 

posted on   惊涛随笔  阅读(7300)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示