2014-03-13 22 views
2

我的網站是爲了內部目的,如果用戶會話存在與否,我檢查了所有請求。但如果用戶空閒,它會到期, 我已設置會話。如果用戶在zend框架問題中空閒,會話將過期

$time = 18000; 
$config = new \Zend\Session\Config\StandardConfig(); 
$config->setGcMaxlifetime($time); 
$config->setGcDivisor(100); 
$config->setGcProbability(1); 
$config->setRememberMeSeconds($time); 
$sessionManager = new \Zend\Session\SessionManager($config); 
$sessionManager->rememberMe($time); 

但它也在幾分鐘內到期,請幫我解決這個問題。 我花了很多時間在Google上搜索,但沒有找到任何解決方案。

+0

如果我沒有記錯的話,使用了rememberMe要求用戶接受cookie,這不會是問題嗎? – doydoy44

+0

我不知道。如果是的話,請給我一個例子或代碼,以便更好地理解。 – user3157253

回答

0

原則上,我避免使用cookie。
我用ZF1,這裏是我的設置:
在您的例子,該條款是相同的,我相信你一定能適應:

添加劇目爲保存會話(見APPLICATION_PATH . '/../tmp'代碼)

// Production 
    'session' => array( 'use_cookies'   => true, 
          'use_only_cookies' => true, 
          'use_trans_sid'  => false, 
          'strict'    => false, 
          'remember_me_seconds' => 0, 
          'name'    => 'MyNameSessionSession', 
          'gc_divisor'   => 1000, 
          'gc_maxlifetime'  => 600, 
          'gc_probability'  => 1, 
          //'save_path'     => APPLICATION_PATH . '/../tmp', // Not for production 
          ),  

// For Dev (Session No Limit) 
$appli['resources']['session']['remember_me_seconds'] = 0; 
$appli['resources']['session']['gc_divisor']   = 10; 
$appli['resources']['session']['gc_maxlifetime']  = 8600; 
$appli['resources']['session']['gc_probability']  = 1; 
$appli['resources']['session']['save_path']   = APPLICATION_PATH . '/../tmp'; 

我希望它會幫助你,否則,我很抱歉,我could'nt幫你
祝你好運:)