如何在蛋糕php3中手动(不更改app.php)来减少会话时间

时间:2016-11-30 14:20:51

标签: php session cakephp cakephp-3.0

我正在尝试在管理页面中手动设置会话时间。就像管理员可以设置会话时间。我使用Configure :: write来覆盖在app.php中写入的会话。但是值被覆盖但是会话没有过期。 第一次我试着喜欢这个

Configure::write('Session', [
'defaults' => 'php',
'timeout' =>1 // 3 days
]);
$time= Configure::read('Session.timeout');
pj($time); // 1

但会议没有通过。 接下来我试着这样。

  Configure::write('SessionTime', [
  'time' => '1'
  ]);

app.php

 `Session' => [
 'defaults' => 'php',
 'timeout'=>Configure::read('SessionTime.time')//in minutes
 ],`

我试图将值发送到app.php,但它没有用。 请关于这个问题的任何一个帮助

1 个答案:

答案 0 :(得分:1)

通过设置超时,您可以在core.php

中手动增加会话时间

Session.cookie :要使用的Cookie的名称。默认为' CAKEPHP'

Session.timeout :您希望会话生效的分钟数。此超时由CakePHP

处理

Session.cookieTimeout :您希望会话Cookie生效的分钟数

Session.checkAgent :您是否希望在启动会话时检查用户代理?处理旧版本的IE,Chrome Frame或某些网页浏览设备和AJAX时,您可能希望将值设置为false

Session.defaults :默认配置集,用作会话的基础。  内置四个:php,cake,cache,database。 以每个字段的描述为例

Session.handler :可用于启用自定义会话处理程序。期望可以与session_save_handler一起使用的一系列可调用对象。使用此选项会自动将session.save_handler添加到ini array.core.php

Session.autoRegenerate :启用此设置,启用会话的自动续订以及经常更改的会话ID。请参阅CakeSession::$requestCountdown

Session.ini :要设置的其他ini值的关联数组。

Configure::write('Session', array(
    'defaults' => '', //Session type
    'timeout'  => '180',//Timeout in minutes
    'cookieTimeout' => '180', //Cookie Timeout in minutes
    'ini' => array('session.cookie_domain' => env('HTTP_BASE')),
    'handler' => array(
        'config' => '' // name
    )
));