我的会话超时配置在yii 2中无法正常工作

时间:2019-12-18 18:24:38

标签: session-cookies yii2-basic-app

我使用此配置来管理用户的登录持续时间

 'user' => [
        'identityClass' => 'app\models\User',
        'enableAutoLogin' => true,
        'enableSession' => true,
        'authTimeout' => 3600*24*120,
        'loginUrl'  => ['user/login']
        //'class' => 'app\components\User',
    ],
    'session' => [
        'class' => 'yii\web\Session',
        'timeout' => 3600*24*120,
        'useCookies' => true,
    ],

,并在登录时间内通过以下方式设置登录时间:

Yii::$app->user->login($this->getUser(), 3600*24*120);

这是getUser():

private $_user = false;

 public function getUser()
{
    if ($this->_user === false) {
        $this->_user = User::find()
            ->where(['mobile' => trim($this->mobile)])
            ->andWhere(['not',['status' => User::STATUS['SUSPEND']]])
            ->one();
    }

    return $this->_user;
}

这些代码在local中可以正常工作,但是在服务器中不起作用。 我被迫在php.ini中手动更改目标的session.gc_maxlifetime值。工作

问题:为什么不更改php.ini就不能在服务器中使用这些配置?问题出在哪里?

0 个答案:

没有答案