2013-12-19 31 views
0

如果用戶在我的應用程序中未運行超過5分鐘,我的Cookie和會話將自動銷燬。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

增加時間你有原始出處也是'$ CON fig'之間的空間? Mayby就是這個問題... – Mathlight

+0

不,我編碼$ config, – bhuko

+0

好吧,我建議更新你的問題,然後用正確的代碼和新行(所以我們可以更好地閱讀/理解它更簡單) – Mathlight

回答

0

我沒有與Zend任何經驗,但這裏是我10塊錢:

我認爲你應該在銷燬它之前首先設置這個變量。

所以這段代碼:

$sessionManager = new SessionManager($sessionConfig); 
$sessionManager->destroy(); 
Container::setDefaultManager($sessionManager); 

將爲:

$sessionManager = new SessionManager($sessionConfig); 
Container::setDefaultManager($sessionManager); 
$sessionManager->destroy(); 
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, 
    ), 
); 

對於餅乾:

$expires = time()+60*60*24*30; // 1 month 
$path = '/'; 
$usrCookie = new SetCookie('cpkue', $cookieUsrName, $expires, $path); 
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, 
),