修复 laravel 5 会话在刷新或进入另一个页面后过期?

Posted

技术标签:

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

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

【问题讨论】:

问题解决了吗? 【参考方案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”,看看会发生什么 是的,我可以看到。当我进入网站时,它会创建一个新文件。 :(

以上是关于修复 laravel 5 会话在刷新或进入另一个页面后过期?的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.1 - 每次刷新时会话重新生成

Laravel Session 总是改变 Laravel 5.4 中的每个刷新/请求

如何修复“试图获取非对象的属性”Laravel 5

laravel 5.7.15 419 抱歉,您的会话已过期。请刷新并重试

重定向进入空白页面而不重定向到路由 Laravel 5.8

Django CSRF错误是通过以多页形式访问页面来修复的吗?