【问题标题】:Laravel session file deleted despite the lifetime configuration尽管有生命周期配置,Laravel 会话文件仍被删除
【发布时间】:2020-03-17 10:40:10
【问题描述】:

我很绝望。我们在 Laravel 5.2 中做了一个应用程序。它运作良好。但是会话在启动大约 20 分钟后结束,尽管生命周期设置为 24 小时。有东西正在删除 /storage/framework/sessions 文件夹中的会话文件,但我们无法确定它是什么。

拜托,我需要任何关于如何找出发生了什么的建议。

我已经将消息放在文件日志 FileSessionHandler.php 中,以检测会话何时被 GC 销毁或删除。我已经在程序中搜索了对会话文件文件夹的其他访问。我已经做了大约 30 个小时没有结果。

发送给我的所有 cmets 将立即应用。

谢谢!

【问题讨论】:

  • 你的会话驱动是什么?
  • 默认:按文件。会话文件存储在 /storage/framework/sessions 文件夹中。我只是将文件夹更改为另一个文件夹。它似乎有效,但我现在无法进行完整测试。

标签: php laravel session timeout lifetime


【解决方案1】:

在 session.php 中

'driver' => env('SESSION_DRIVER', 'file'),
'lifetime' => env('SESSION_LIFETIME', your_time),

在.env中

SESSION_LIFETIME=your_time

如果在 env 中设置了 SESSION_LIFETIME 则它从 env 中获取值,否则从 session.php 中获取 更改 .env 后

php artisan config:cache

【讨论】:

  • 全部用完了。
  • 在所有这些点中,我输入了 86400(可能是秒或分钟。无论如何至少是 24 小时)。
【解决方案2】:

问题在于互联网提供商会定期从连接中删除信息。更换提供商时问题已解决。

【讨论】:

    猜你喜欢
    • 2016-11-21
    • 2017-11-08
    • 2012-03-28
    • 1970-01-01
    • 2013-02-21
    • 2013-10-27
    • 2014-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多