V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
dongcheng
V2EX  ›  问与答

Laravel 5.1 session 不能持久, TokenMismatchException 错误!!

  •  
  •   dongcheng · 2015-10-22 11:18:03 +08:00 · 2648 次点击
    这是一个创建于 3326 天前的主题,其中的信息可能已经有所发展或是发生改变。
    大家好,有用 LARAVEL5 的吗? SESSION 不能持久,从 FILE 换到 COOKIE ,都有问题,导致 TokenMismatchException , AUTH 也经常不能保持登陆状态

    已经折腾好几天啦!!

    https://phphub.org/topics/640

    链接(技术论坛)能贴吗?这里有一个类似的问题,但是也没有解决方案啊~
    8 条回复    2015-10-24 12:43:40 +08:00
    Dannytmp
        1
    Dannytmp  
       2015-10-22 13:23:59 +08:00
    laravel 官网不知用了哪些被强的服务,很难打得开啊
    dongcheng
        2
    dongcheng  
    OP
       2015-10-22 14:30:35 +08:00
    @Dannytmp 晕,我打开还可以
    Dannytmp
        3
    Dannytmp  
       2015-10-22 14:51:02 +08:00
    @dongcheng 经常性的打不开,有时也能打得开
    denghongcai
        4
    denghongcai  
       2015-10-22 14:59:22 +08:00   ❤️ 1
    Github 上 Laravel 的仓库有对应的 issue ,但是被强制关了,按作者的话说:确实没法重现

    尝试以下步骤:
    1. 把 fpm 的 worker 数量减为 1 ,看问题是否存在
    2. 开发者工具查看 session id 是不是在变动,哪一步变动了,有时候是因为 404 错误导致 session 被重置(例如 Chrome 会自动请求网站的 favicon.ico )
    3. 用 Memcached 或者 Redis 作为 Session 的存储
    dongcheng
        5
    dongcheng  
    OP
       2015-10-22 22:18:31 +08:00
    @denghongcai 我的环境是 laravel 5.1/XAMPP Version: 5.6.8/Windows 7 Ultimate SP1 64-bit/php 5.6.8

    难道都是用 redis 和 memcached 做 session?

    我在 github 提交的 issue 也被关闭了,回复说 file 做 session 不能用生产环境,要用 redis ?其实我,本来是 file 改成 cookie 还是出问题,在想是不是改成 database 。
    dongcheng
        6
    dongcheng  
    OP
       2015-10-24 00:37:30 +08:00
    @denghongcai

    我发现一个有用的评论

    https://github.com/laravel/framework/issues/9522

    iLeoDo 说是 blade template 模板的原因

    我建了一个简单的表单,没有用 blade ,结果提交了一下, SESSION 也正常了, TokenMismatchException 也没有了!!?

    据说在过程里中断会出现 SESSION 问题, blade 模板里中断了?
    denghongcai
        7
    denghongcai  
       2015-10-24 11:31:11 +08:00   ❤️ 1
    Laravel 的 Session 是在整个请求流程结束之后的 after middleware 进行处理的,如果在控制器或者在模板中直接调用 exit(), die()之类的函数退出就可能出现 Session 未被处理的问题
    dongcheng
        8
    dongcheng  
    OP
       2015-10-24 12:43:40 +08:00
    @denghongcai

    用 blade 布局里的 @stop ,会中断吗?我试了下只能这么解释。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2601 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 15:44 · PVG 23:44 · LAX 07:44 · JFK 10:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.