我在Laravel 4中创建了“记住我”功能 . 为此,我使用下面的代码来设置自定义会话 . 我已经在登录功能中设置了会话并在同一个函数中进行了检查,然后它给出了“一年”的正确结果 . 但是当我使用showDashboard()函数重定向到仪表板并在函数内再次检查会话时,会话更改为120分钟,即“两天” .
Login Function:
public function actionLogin{
//User authentication code
$lifetime = time() + 60 * 60 * 24 * 365; // one year
Config::set('session.lifetime', $lifetime);
//Config::get('session.lifetime'); //<---Giving expected result i.e "One year"
return Redirect::to('/dashboard');
}
Dashboard function:
public function showDashboard(){
Config::get('session.lifetime'); //<--- Giving o/p 120 i.e two hours
}
1 回答
当调用
Config::set('session.lifetime', $lifetime);
时,你只是为那个实例设置配置,而不是覆盖配置值(可以在config / session.php中找到)因此,当您调用
Config::get('session.lifetime')
时,它将返回默认值,即120 .为了改变这个我会修改
app/config/session.php
,所以这一行:变为:
这意味着默认值为1年 .