1

我正在构建一个名为 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();
}

ajax 调用每 10 分钟进行一次。我不确定这是否是保持会话活跃的好方法。有没有更好的方法可以使用 Cake 本身的东西而不是使用 session_start 来做到这一点?

非常感谢您的时间:)

4

1 回答 1

2

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

在 CakePHP 1.3 中这很容易。只需找到它并更改为您的值(36000 10 小时)。

应用程序/配置/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
));
于 2012-10-12T17:03:08.923 回答