コード例 #1
0
ファイル: class.ZcSession.php プロジェクト: wuyuanyuan1012/zc
 public static function startSessionWithParams($sessionName = '', $sessionDomain = '', $sessionId = '', $sessionType = 'file', $options = array())
 {
     // 		Zc::dump($sessionName);
     // 		Zc::dump($sessionDomain);
     // 		Zc::dump($sessionId);
     // 		Zc::dump($sessionType);
     // 		Zc::dump($options);
     self::$log = Zc::getLog('session/manager.log');
     if (!empty($sessionName)) {
         session_name($sessionName);
     }
     session_set_cookie_params(0, '/', !empty($sessionDomain) ? $sessionDomain : '');
     if (!empty($sessionId)) {
         session_id($sessionId);
     }
     if ($sessionType === 'memcached' || $sessionType == 'db') {
         $handlerClassName = 'Zc' . ucfirst($sessionType) . 'SessionHandler';
         self::$sessionHander = new $handlerClassName($options);
         session_set_save_handler(array(self::$sessionHander, 'open'), array(self::$sessionHander, 'close'), array(self::$sessionHander, 'read'), array(self::$sessionHander, 'write'), array(self::$sessionHander, 'destroy'), array(self::$sessionHander, 'gc'));
         register_shutdown_function('session_write_close');
     } elseif ($sessionType === 'file') {
         if (!empty($options['session_save_path'])) {
             session_save_path($options['session_save_path']);
         }
     } else {
         throw new Exception("do not support session type {$sessionType}");
     }
     $ret = session_start();
     if (!$ret) {
         self::$log->monitor("{$sessionType} session start failed");
     }
     self::$isStart = $ret;
     if (!isset($_SESSION['securityToken'])) {
         $_SESSION['securityToken'] = md5(uniqid(rand(), true));
     }
 }
コード例 #2
0
ファイル: zc.php プロジェクト: wuyuanyuan1012/zc
 /**
  * 把启动Session作为一个方法暴露出来,这样可以利用整个Zc框架的类自动加载机制,同时也可以作为一个Zc类的一个普通static方法暴露出来使用
  *
  * @param unknown_type $sessionName
  * @param unknown_type $sessionDomain
  * @param unknown_type $sessionId
  * @param unknown_type $sessionType
  * @param unknown_type $options
  */
 public static function startSessionWithParams($sessionName = '', $sessionDomain = '', $sessionId = '', $sessionType = 'file', $options)
 {
     self::initZcFrameworkAutoloader();
     ZcSession::startSessionWithParams($sessionName, $sessionDomain, $sessionId, $sessionType, $options);
 }