私は、ZF2セッションとタイムアウトで奇妙で欲求不満な動作を見ています。ここでZend Session SessionManagerとcookie_lifetime
は、私がセッションをセットアップするために使用するコードです:私はこのコードを実行すると
$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);
、クッキーが作成されますが、有効期限はセッションの終わりですされます。
私はこのようなコードを変更した場合:
$sessionManager = new \Zend\Session\SessionManager();
$sessionManager->rememberMe(31536000);
$sessionManager->setConfig($sessionConfig);
$session = new \Zend\Session\Container('MY_SESSION', $sessionManager);
をクッキーが作成されると有効期限は今から一年です。
ただし、Cookieが残っていてもセッションは30分後に失効します。
私が望むのは、クッキーとセッションの両方が1年間持続することです。これをZF2でどうやって達成するのですか?
StandardConfigではなく、\ Zend \ Session \ Config \ SessionConfig'を使用してください。 – Crisp
上記のオプションと同じオプションでSessionConfigを使用すると、PHPSESSID Cookieが書き込まれません。私は何が欠けていますか? – ebeyrent
上記のオプションは 'mydomain'の' name'セッションを示していますか? – Crisp