【发布时间】:2013-01-28 15:20:13
【问题描述】:
我正在尝试增加 cakephp 应用程序中的会话寿命。我在登录页面中有一个remember me 复选框。选中复选框时,我需要将会话时间延长到当前时间再延长 1 小时,登录后应用程序内的任何操作都需要将会话时间延长到 1 小时以上。
我有用于登录的组件文件,所有操作都将在启动功能中输入。
我试图延长session.cookie(CakePHP 的会话cookie) 的生命周期,但没有奏效。
function startup(&$controller) {
/* First try */
setcookie(Configure::read('Session.cookie'),$_COOKIE[Configure::read('Session.cookie')], time() + 3600, "/"); // Configure::read('Session.cookie') is 'CAKEPHP'.
/* Second try */
ini_set('session.gc_maxlifetime', 3600);
/* Third try */
session_set_cookie_params(time() + 3600);
echo $this->Session->read('status').' session <br/>';
echo $_SESSION['test'];
}
但是在session.timeout(CakePHP 的会话超时)时间之后,所有这些都不会保持会话。会话status 和test 变量在登录时创建。它将被检索,直到未达到session.timeout。
我正在使用 cakephp v1.2。
【问题讨论】:
标签: php session cakephp cakephp-1.3 cakephp-1.2