Widzę dziwne i frustrujące zachowanie podczas sesji ZF2 i limitów czasu.Zend Session SessionManager i cookie_lifetime
Oto kod używam skonfigurować sesję:
$sessionConfig = new \Zend\Session\Config\StandardConfig();
$sessionConfig->setOptions(array(
'cache_expire' => 525949,
'cookie_domain' => 'mydomain.com',
'cookie_lifetime' => 31536000,
'cookie_path' => '/',
'cookie_secure' => TRUE,
'gc_maxlifetime' => 31536000,
'name' => 'mydomain',
'remember_me_seconds' => 31536000,
'use_cookies' => TRUE,
));
$sessionManager = new \Zend\Session\SessionManager($sessionConfig);
$sessionManager->rememberMe(31536000);
$sessionManager->setSaveHandler(new \Zend\Session\SaveHandler\MongoDB($mongo, $options);
$session = new \Zend\Session\Container('MY_SESSION', $sessionManager);
Kiedy wykonać ten kod, ciasteczko zostanie utworzone, ale wydech jest koniec sesji.
Gdybym zmienić kod tak:
$sessionManager = new \Zend\Session\SessionManager();
$sessionManager->rememberMe(31536000);
$sessionManager->setConfig($sessionConfig);
$session = new \Zend\Session\Container('MY_SESSION', $sessionManager);
ciasteczko zostanie utworzone, a wydech jest rok od teraz.
Jednak sesja nadal wygasa po około 30 minutach, mimo że plik cookie pozostaje.
Czego chcę, aby plik cookie i sesja przetrwały przez rok. Jak to zrobić w ZF2?
Użyj '\ Zend \ Session \ Config \ SessionConfig', nie' StandardConfig' – Crisp
Gdy używam SessionConfig z tych samych opcji jak wyżej, cookie PHPSESSID nie uzyskać napisane. czego mi brakuje? – ebeyrent
Powyższe opcje wskazują sesję 'name' of' mydomain'? – Crisp