我正在构建一个名为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?
非常感谢您的时间:)
答案 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
));