我正在尝试在管理页面中手动设置会话时间。就像管理员可以设置会话时间。我使用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,但它没有用。 请关于这个问题的任何一个帮助
答案 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
)
));