Cakephp使会话保持很长时间

时间:2012-10-12 16:50:51

标签: cakephp

我正在构建一个名为Trackosaur的应用程序,它可以跟踪您所做事情的时间。我正在使用Cake2 + jQuery1.8。我面临的问题与会议超时有关。我可以通过php ini调整会话超时的时间。但是我需要在很长一段时间内(10个多小时)“保持活力”。所以我在我的UserController中设置了一个简单的函数的ajax调用,它只使用了session_start()。

JS

function keepAlive()
{
        $.ajax({
            type: 'get',
            url: '/users/keepalive'
        }).done(function(data){});
}

public function keepalive()
{
    session_start();
}

每10分钟拨打一次ajax电话。我不确定这是否是让会话保持活力的好方法。有没有更好的方法我可以使用Cake本身的东西,而不是使用session_start?

非常感谢您的时间:)

1 个答案:

答案 0 :(得分:2)

在核心配置文件中,您可以更改会话超时值。

在CakePHP 1.3中,它很容易。只需找到并改变你的价值(10小时36000)。

应用/配置/ core.php中

/**
 * Session time out time (in seconds).
 * Actual value depends on 'Security.level' setting.
 */
Configure::write('Session.timeout', '120');

在CakePHP 2中,找到此行并阅读其上方的注释块,以获取有关如何配置会话时间的说明。我自己没有必要这样做,但我认为:

Configure::write('Session', array(
    'defaults' => 'php',
    'Session.timeout' => 36000
));