求助!!session无法获取

就是一个登录的问题
登录时写入session,然后跳转到个人中心页面,然后个人中心页面检测是否登录,检测是否有session,没有session就重新返回到登录页面

我遇到的问题来了
就是突然,突然,我的网站无法登录,输入账号密码后登录还是调回到登录页面。
我网上找了很多解决方案,一个都不管用
我的session驱动是file,然后呢有效期什么的都是120默认的,我也尝试在Kernel.php里添加
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class
本身就自带有这2个,无效

我在/storage/framework/sessions里能找到创建的session文件,里面的内容就是登陆时创建的session,但是不知道为什么,无法登录

更神奇的事情来了,我把代码复制到另一台B服务器上,她没问题,可以登录,但是在这台A服务器上死活不行,我重新再A服务器上使用相同的代码重新创建站点,同样也是不行。

我也尝试过重启服务器、卸载NGINX(换到apache上)、重装nginx、重装php。,反正能想到的办法全部试了,依旧不行。

哪怕我把驱动换到redis也不行,我能在redis里能看到这个session,但是就是无法验证登录

我实在没招了,研究了一天了,哪位大神能帮帮我,我服务器用的是宝塔的环境,centos系统,是不是和服务器环境有关呢,不然为啥换个服务器就正常

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

成功和不成功的情况对比一下也看出来了。看request 、response、请求头、方法,url,请求体、响应头,响应内容... 盲猜cookie跨源

2个月前 评论
讨论数量: 10

看表述,如果是整个项目移到其他服务器能正常,那可能是缓存的问题,清下缓存试试,然后就是打断点调试,就完了

2个月前 评论
祝柠好运 (楼主) 2个月前
altruism (作者) 2个月前

把登录时和跳转后的session_id都打印出来,看看客户端后续传递的session_id是不是同一个先

2个月前 评论

之前用别的借口,设置了 返回类型, 原来是没有强制返回类型的,然后死活不行, 后来一步一步调试才找到。

你把代码 git 提交, 代码复制过来,看看是不是完全一样,

如果一样, 就加个中间件, 打印下 request 和 response 内容, 包含请求头、方法,url,请求体,响应头,响应内容等, 然后对比下看看。

2个月前 评论

猜测登录部分可能有报错,没有说是不是升级了php版本,默认是升级了,那么可以先看日志

2个月前 评论

laravel 的 session 是自己实现的,和 php 估计关系不大,在测试路由测试写入 session,读取 session 是否正常;再看看和数据表账号有没有关系。

2个月前 评论

成功和不成功的情况对比一下也看出来了。看request 、response、请求头、方法,url,请求体、响应头,响应内容... 盲猜cookie跨源

2个月前 评论

排除法,先换个浏览器,用手机测一下,确保浏览器没有禁用 cookie

更专业的做法:
1、登录之前,按 F12 调出浏览器的开发者工具,检查请求返回的响应头,有没有正确返回 set-cookie 之类的,浏览器有没有正确保存 sessionid,甚至需要检查浏览器是否禁用 cookie
2、再检查服务端 session 问题,权限够不够?有没有正确保存 session相关的文件?磁盘是不是满了?导致无法写入文件

2个月前 评论

看看session文件夹的用户所有者是不是运行php-fpm的

1个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!