laravel - 了解 Laravel 会话处理程序
问题描述
我正在尝试了解 Laravel 会话处理程序,但在网上找不到任何东西。目前,在session.php
我正在做的
'lifetime' => 10,
我将会话驱动程序设置为文件。因此,根据我的阅读,这会将会话的空闲超时设置为 10 分钟。
那么在这种情况下空闲是什么意思呢?我假设这意味着如果在 10 分钟内没有向服务器发送请求,它将过期。这个对吗?
另外,它如何判断 10 分钟内是否没有发送请求?我查看了存储中的会话文件,但没有看到任何时间戳。
那么这一切究竟是如何运作的呢?
谢谢
解决方案
是的,您是正确的:如果您在生命周期配置值之后不发送任何请求,则会话将被销毁。
该类Illuminate\Session\FileSessionHandler
有一个gc()
函数,它是一个垃圾收集器函数,每个请求都有可能被调用,您可以通过session.lottery
配置值控制机会。此函数销毁每个会话文件,其修改的时间戳早于现在 - 生命周期。
如果您想查看源代码,可以在文件中找到Illuminate\Session\FileSessionHandler
该类。vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php
推荐阅读
- c++ - 关于 Introspection / static_assert (C++17) 的问题
- reactjs - 从 material-ui 自动完成中隐藏一个选项
- java - 主机名不能为空
- c - 我如何使用 sizeof(指针)。所以我得到 sizeof(array)。指针指向数组
- php - 类 App\Http\Requests\MyCustomRequest 不存在 - Laravel 6
- docker - 使用 Docker Compose 将 nestjs 连接到 redis
- c - 作为 C 中结构成员的数组的指针算术
- c# - ASP.NET Core 瞬态 DbContext
- angular - 使现有行只读,而新行可编辑Angular FormArray
- matlab - 如何以不同格式保存matlab图形,即矢量格式的标签和刻度,而位图格式的图像?