【问题标题】:cakephp 3 how to increase session timeoutcakephp 3 如何增加会话超时
【发布时间】:2018-06-05 12:19:06
【问题描述】:

有没有人知道如何增加 cakephp 3 中的会话超时,不管我怎么尝试,它只是在 15 分钟时超时,

最新的东西,我试过是

在 app.php 文件中更改此设置,但它仍然在 15 分钟左右超时,这非常令人沮丧

'Session' => [
        'defaults' => 'php',
            'timeout'=>300*60//in minutes
    ],

谢谢

【问题讨论】:

    标签: session cakephp cakephp-3.0 session-timeout


    【解决方案1】:

    有会话超时,还有会话 cookie 生命周期。后者不受前者影响,后者可在 CakePHP 配置中进行配置,如您的代码 sn-p 所示,并由 CakePHPs 会话处理程序处理。

    检查您的 PHP 安装 session.cookie_lifetime 设置,这可能是问题的原因。如果您需要更改它,可以在 php.ini 中进行更改,或者在 CakePHP 会话配置中使用 ini 选项。

    引用自文档:

    默认情况下,PHP 将会话 cookie 设置为在 无论配置的 Session.timeout 值如何,浏览器都会关闭。 cookie 超时由 session.cookie_lifetime ini 控制 值,可以使用:

    Configure::write('Session', [
        'defaults' => 'php',
        'ini' => [
            // Invalidate the cookie after 30 minutes without visiting
            // any page on the site.
            'session.cookie_lifetime' => 1800
        ]
    ]);
    

    Session.timeout 和 session.cookie_lifetime 的区别 价值在于后者依赖于客户说出真相 饼干。如果您需要更严格的超时检查,无需依赖 对于客户端报告的内容,您应该使用 Session.timeout。

    Cookbook > Sessions > Session Configuration

    如果这不能解决问题,那么您将不得不进行一些调试,检查会话 cookie 过期值,挂钩到 CakePHPs 会话处理程序以确定会话是否被终止 (\Cake\Network\Session::_timedOut())等等……

    【讨论】:

      猜你喜欢
      • 2019-09-27
      • 1970-01-01
      • 2018-08-10
      • 1970-01-01
      • 2017-11-26
      • 2012-01-29
      • 1970-01-01
      • 1970-01-01
      • 2013-12-19
      相关资源
      最近更新 更多