我正在使用CakePHP 2.4.3,现在,它在我不活动大约30分钟后就将我注销。我希望会话持续更长时间(或者像Facebook一样无限长)* 即使我离开网站(不关闭浏览器)* 几个小时左右。
我在app/Config/core.php上尝试过以下方法,但都不起作用:
测试#1:
Configure::write('Session', array(
'defaults' => 'php',
'timeout' => 60, // The session will timeout after 60 minutes of inactivity
'cookieTimeout' => 4320, // The session cookie will live for at most 3 days, this does not effect session timeouts
'checkAgent' => false,
'autoRegenerate' => true, // causes the session expiration time to reset on each page load
));
测试2:
Configure::write('Session', array(
'defaults' => 'php',
'timeout' => 2160, // 36 hours
'ini' => array(
'session.gc_maxlifetime' => 129600 // 36 hours
)
));
测试#3:
Configure::write('Session', array(
'defaults' => 'php',
'cookieTimeout' => 0
));
Configure::write('Security.level', 'medium');
我现在不知道当cakephp站点上的脚本本身不工作时会发生什么(测试2)。我登录,检查其他站点,然后在一个小时后回到它,然后它被注销。我如何使CakePHP中的会话无限(或至少更长,即使在不活动时)?
3条答案
按热度按时间e5nqia271#
将其放在AppController中afterFilter操作中:
$this-〉会话-〉续订();
这会将会话Cookie更新为无限。
否则,请尝试以下代码:
根据您的要求添加超时。
使用会话作为数据库,创建会话表,它将存储会话
也许它会帮助你
knpiaxh12#
把下面的代码放到你的项目core.php文件中
vuv7lop33#
在Cakephp 2.4中,开发人员关闭了session.auto从用户脚本设置www.example.com _start选项的功能。
但有一个变通的办法,
在配置/核心. php中