У меня есть следующий код в моем приложении ZF1 для входа пользователей в:
public function loginAction()
{
$this->view->flashMessages = implode($this->_helper->getHelper('FlashMessenger')->getMessages());
$form = new Mmb_Form_Login();
$this->view->form = $form;
if ($this->getRequest()->isPost()) {
if ($form->isValid($this->getRequest()->getPost())) {
$values = $form->getValues();
Zend_Session::rememberMe(2592000);
$adapter = new Mmb_Auth_Adapter_Doctrine($values['username'], $values['password']);
$auth = Zend_Auth::getInstance();
$result = $auth->authenticate($adapter);
if ($result->isValid()) {
$session = new Zend_Session_Namespace('mmb.auth');
$session->user = $adapter->getResultArray('password');
$this->_redirect('/');
} else {
$this->view->message = 'Invalid Login';
}
}
}
}
Как видите, я использовал Zend_Session :: запомнитьMe (2592000), чтобы сеанс оставался активным в течение 30 дней. Из того, что я понимаю, сессия все еще должна быть активной, даже если пользователь закрывает свой браузер. К сожалению, это не то, что происходит; если вы закроете браузер, вам придется снова войти в систему.
Что я делаю неправильно? Есть ли шанс, что мне нужно что-то настроить в моем файле php.ini?
Задача ещё не решена.
Других решений пока нет …