Я включил релевантные части нашего конфигурационного файла Yii ниже:
return array(
...
'components'=>array(
'session' => array(
'timeout' => 86400,
),
'user'=>array(
'allowAutoLogin' => true,
'autoRenewCookie' => true,
'authTimeout' => 31557600,
),
...
),
...
);
Я также попал в php.ini и установил session.gc_maxlifetime = 86400
, но это еще не устранило проблему.
В настоящее время Im абсолютно не понимает, что еще может привести к таймауту и вывести пользователя из системы примерно через 15-30 минут бездействия. В идеале пользователи должны оставаться в системе как минимум на день бездействия (и не закрывать окно браузера, разрешая предпочтения браузера).
Я трал Google, Yii и переполнение стека и просто не могу найти ничего, что я пропускаю... но, очевидно, я что-то пропускаю. Если кто-нибудь сможет мне помочь, я буду очень благодарен.
Образец типичного кода, который мы используем для входа в систему пользователей, был запрошен и приведен ниже:
$identity = new UserIdentity('facebook', $id, $user->name, $user->email);
$loggedIn = Yii::app()->user->login($identity);
$this->subscriptionChecker->updateCurrentUserSubscribed();
Это довольно типично в любое время, когда Yii::app()->user->login()
называется
Из Chrome, вот куки, которые у меня есть для сайта, и их срок действия (после очистки всех файлов cookie и просто входа в систему):
PHPSESSID expires When the browsing session ends
// I'm informed these are set by google analytics
__utma created Friday, 12 October 2012 14:05:31 expires Sunday, 12 October 2014 14:05:31
__utmb created Friday 12 October 2012 14:05:31 expires Friday 12 October 2012 14:35:31,
__utmc created Friday, 12 October 2012 14:05:31 expires When the browsing session ends
__utmz created Friday 12 October 2012 14:05:31 expires Saturday 13 April 2013 02:05:31
// end google analytics