如果用户在我的应用程序中工作超过5分钟,我的cookie和会话就会被自动销毁。
模块配置中的
'session' => array(
'cookie_lifetime' => 60,
'gc_maxlifetime' => 60,
'cache_expire' => 60,
'remember_me_seconds' => 60,
'use_cookies' => true,
'cookie_httponly' => true,
),
在我的模块中
$config = $e->getApplication()->getServiceManager()->get('Configuration');
$sessionConfig = new Session Config();
$sessionConfig->setOptions($con fig['session']);
$sessionManager = new SessionManager($sessionConfig);
$sessionManager->destroy();
Container::setDefaultManager($sessionManager);
答案 0 :(得分:0)
我对Zend没有任何经验,但这是我的10块钱:
我认为你应该在销毁它之前先设置变量带。
所以这段代码:
$sessionManager = new SessionManager($sessionConfig);
$sessionManager->destroy();
Container::setDefaultManager($sessionManager);
那将是:
$sessionManager = new SessionManager($sessionConfig);
Container::setDefaultManager($sessionManager);
$sessionManager->destroy();
答案 1 :(得分:0)
Module.php
public function onBootstrap(\Zend\EventManager\EventInterface $e)
$config = $e->getApplication()
->getServiceManager();
->get('Configuration');
$sessionConfig = new SessionConfig();
$sessionConfig->setOptions($config['session']);
$sessionManager = new SessionManager($sessionConfig, null, null);
Session::setDefaultManager($sessionManager);
}
module.config.php
return array(
'session' => array(
'remember_me_seconds' => 2419200,
'use_cookies' => true,
'cookie_httponly' => true,
),
);
对于cookie:
$expires = time()+60*60*24*30; // 1 month
$path = '/';
$usrCookie = new SetCookie('cpkue', $cookieUsrName, $expires, $path);
答案 2 :(得分:0)
您是否尝试将cookie_secure设置为FALSE并且可能会将时间从60秒增加
'session' => array
(
'cookie_lifetime' => 60 * 60 * 24 ,
'gc_maxlifetime' => 60 * 60 * 24,
'cache_expire' => 60 * 60 * 24,
'remember_me_seconds' => 60 * 60 * 24,
'use_cookies' => TRUE,
'cookie_secure' => FALSE,
),