【问题标题】:Session timeout not working in Cakephp 2会话超时在 Cakephp 2 中不起作用
【发布时间】:2016-12-02 01:41:57
【问题描述】:

由于业务需要,我需要在 cakephp 2 应用程序上定义一个非常大的会话时间。我在 core.php 文件中定义如下:

Configure::write('Session', array(
   'defaults'  => 'php', //defaults => php
   'cookie' => 'cookie',
   'timeout'   => 4320 // 3 days
));

我做了一个测试,大约两个小时不活动我的会话被关闭,每次我点击一个按钮我都会回到登录屏幕,我怎样才能有效地控制我的会话时间?

【问题讨论】:

  • 第一个故障排除步骤应该是验证生成的cookie的过期时间和其他属性。您应该能够在任何体面的浏览器中获取该信息。其他重要的细节是您是否共享会话目录和应用程序域。

标签: php session cakephp


【解决方案1】:

使用这个它可能有用。它对我有用

core.php

 Configure::write('Session', array(
            'defaults' => 'php',
            'timeout' => 259200,
            'ini' => array(
                'session.gc_maxlifetime' => 259200 // 3 day
            )
    ));

【讨论】:

  • 其实session.gc_maxlifetime默认为Configure::read('Session')['timeout'] * 60(前者以分钟为单位,后者以秒为单位)。
  • 谢谢,我尝试了这个选项,它按预期工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-19
  • 2014-12-05
  • 1970-01-01
  • 2013-12-19
  • 2016-01-21
  • 2015-04-04
  • 1970-01-01
相关资源
最近更新 更多