首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel5.5:如何在系统空闲后保持Laravel用户会话的存活

Laravel5.5:如何在系统空闲后保持Laravel用户会话的存活
EN

Stack Overflow用户
提问于 2020-05-09 17:10:11
回答 2查看 424关注 0票数 1

我的系统在空闲后每隔一段时间都会在刷新时返回下面的错误。

图片:在给定的系统不活动时间后显示的Laravel错误

我将session.php文件中的会话生存期从120更改为120000000000,如下所示,但似乎不起作用。

代码语言:javascript
运行
复制
<?php

return [
'driver' => env('SESSION_DRIVER', 'file'),
 'lifetime' => env('SESSION_LIFETIME', 120000000000),
 'expire_on_close' => false,

'encrypt' => false,
'files' => storage_path('framework/sessions'),
 'connection' => null,
'table' => 'sessions',
'store' => null,
'lottery' => [2, 100],
 'cookie' => env(
        'SESSION_COOKIE',
        str_slug(env('APP_NAME', 'laravel'), '_').'_session'
  ),

'path' => '/',
'domain' => env('SESSION_DOMAIN', null),
'secure' => env('SESSION_SECURE_COOKIE', false),
'http_only' => true,
'same_site' => null,

];

我怎么解决这个问题?

EN

回答 2

Stack Overflow用户

发布于 2020-05-09 17:38:24

必须更改.env文件中的值:

SESSION_LIFETIME=525600

这是在项目的根中,因为它接受这个默认值,在这样做之后,您可以应用命令:php artisan config:clearphp artisan cache:clear来接受新的更改。

票数 0
EN

Stack Overflow用户

发布于 2020-05-09 18:45:32

您可以使用laravel内置功能(请记住我)。您可以将一个布尔值作为第二个参数传递给尝试方法,这将使用户通过身份验证,或者您可以手动注销。您可以在LoginController中找到这个方法,这将是一个AuthenticatesUsers特性。此外,您的used表必须包括字符串remember_token列,该列将用于存储“记住我”标记。在最新版本的laravel中,默认情况下包括这些东西。

代码语言:javascript
运行
复制
if (Auth::attempt(['email' => $email, 'password' => $password], $remember)) {
   // The user is being remembered...
}

另一种方法是在您的SESSION_LIFETIME=120文件中设置.env。我建议设定几年,比如68岁,相当于35791394分钟。因此,将其设置为SESSION_LIFETIME=35791394。设置会话时间后,需要运行这些命令。

  1. config:cache或php artisan config:清空
  2. php手工缓存:清除
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61700657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档