【问题标题】:fix laravel 5 session expiring after refresh or going on another page?修复 laravel 5 会话在刷新或进入另一个页面后过期?
【发布时间】:2015-12-11 12:35:30
【问题描述】:

我正在使用 laravel 默认身份验证。当我登录我的网站时,一切都很好。当我尝试刷新或转到另一个页面(仍在使用 Auth 中间件)时,我的会话已过期,我直接注销,我必须重新登录。如何解决此问题,以便在刷新页面或浏览另一个页面时保持登录状态?

【问题讨论】:

  • 问题解决了吗?

标签: laravel laravel-routing laravel-5.1


【解决方案1】:

您也可以尝试在config/session.php中设置更高的生命周期

/*
|--------------------------------------------------------------------------
| Session Lifetime
|--------------------------------------------------------------------------
|
| Here you may specify the number of minutes that you wish the session
| to be allowed to remain idle before it expires. If you want them
| to immediately expire on the browser closing, set that option.
|
*/

'lifetime' => 120,

'expire_on_close' => false,

注意expire_on_close,如果您将其设置为 true,则会话将在浏览器关闭时过期

【讨论】:

    【解决方案2】:

    值得更改(app/session.php):

    'cookie' => 'laravel_session'
    

    每次编译缓存时都会重置与您的应用/网站相关的内容

    【讨论】:

    • 我没听懂你能解释一下吗?
    【解决方案3】:

    检查会话配置文件:

    config/session.php
    

    如果你有

    'driver' => env('SESSION_DRIVER', 'file')
    

    检查默认为'storage/framework/sessions'的会话文件夹的权限:

    'files' => storage_path('framework/sessions')
    

    【讨论】:

    • 我正在使用我的本地主机。仍然遇到这个问题:(
    • 你在存储文件夹中设置了777权限吗?
    • 是的,我试过这个命令 chmod -R 777 {appname/storage} 但仍然遇到这个问题
    • 进入站点后,您能看到 storage/framework/sessions 中的文件吗?也许您可以将驱动程序更改为“cookies”,看看会发生什么
    • 是的,我可以看到。当我进入网站时,它会创建一个新文件。 :(
    猜你喜欢
    • 2016-05-04
    • 2018-02-04
    • 2019-04-28
    • 2014-07-20
    • 2011-07-09
    • 2013-12-22
    • 1970-01-01
    • 1970-01-01
    • 2017-08-30
    相关资源
    最近更新 更多