首页 > 解决方案 > 了解 Laravel 会话处理程序

问题描述

我正在尝试了解 Laravel 会话处理程序,但在网上找不到任何东西。目前,在session.php我正在做的

'lifetime' => 10,

我将会话驱动程序设置为文件。因此,根据我的阅读,这会将会话的空闲超时设置为 10 分钟。

那么在这种情况下空闲是什么意思呢?我假设这意味着如果在 10 分钟内没有向服务器发送请求,它将过期。这个对吗?

另外,它如何判断 10 分钟内是否没有发送请求?我查看了存储中的会话文件,但没有看到任何时间戳。

那么这一切究竟是如何运作的呢?

谢谢

标签: laravellaravel-5

解决方案


是的,您是正确的:如果您在生命周期配置值之后不发送任何请求,则会话将被销毁。

该类Illuminate\Session\FileSessionHandler有一个gc()函数,它是一个垃圾收集器函数,每个请求都有可能被调用,您可以通过session.lottery配置值控制机会。此函数销毁每个会话文件,其修改的时间戳早于现在 - 生命周期。

如果您想查看源代码,可以在文件中找到Illuminate\Session\FileSessionHandler该类。vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php


推荐阅读