Sto osservando un comportamento strano e frustrante con sessioni ZF2 e timeout.Zend Session SessionManager e cookie_lifetime
Ecco il codice che uso per impostare la sessione:
$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);
Quando eseguo questo codice, il cookie viene creato, ma la scadenza è fine della sessione.
Se cambio il codice come questo:
$sessionManager = new \Zend\Session\SessionManager();
$sessionManager->rememberMe(31536000);
$sessionManager->setConfig($sessionConfig);
$session = new \Zend\Session\Container('MY_SESSION', $sessionManager);
il cookie viene creato e la scadenza è un anno da ora.
Tuttavia, la sessione scade ancora dopo 30 minuti circa, anche se il cookie rimane.
Quello che voglio è che il cookie e la sessione persistano per un anno. Come posso realizzare questo in ZF2?
Usa '\ Zend \ Session \ Config \ SessionConfig', non' StandardConfig' – Crisp
Quando uso SessionConfig con le stesse opzioni di cui sopra, il cookie PHPSESSID non ottiene scritto. Cosa mi manca? – ebeyrent
Le opzioni sopra indicano un 'nome' di sessione di' mydomain'? – Crisp