public function setSessionStorage() { $options = new DbTableGatewayOptions(); $options->setDataColumn('session_data')->setIdColumn('session_id')->setLifetimeColumn('life_time')->setModifiedColumn('update_time')->setNameColumn('session_name'); $handler = new DbTableGateway($this->tblgw, $options); $this->sessionManager = new SessionManager(); $this->sessionManager->setSaveHandler($handler); if ($this->sessionConfig) { $options = gv('options', $this->sessionConfig); $sessionConfig = new \Zend\Session\Config\SessionConfig(); $sessionConfig->setOptions($options); $this->sessionManager->setConfig($sessionConfig); } $this->sessionManager->setSaveHandler($handler); Container::setDefaultManager($this->sessionManager); $this->sessionManager->start(); $this->container = new Container('init'); if (!$this->container->init) { $request = $this->request; $this->container->init = 1; $this->container->remoteAddr = $request->getServer()->get('REMOTE_ADDR'); $this->container->httpUserAgent = $request->getServer()->get('HTTP_USER_AGENT'); $this->container->create = time(); } // update session id if (SESSION_ID_EXPIRE < time() - $this->container->create) { $this->sessionManager->regenerateId(true); $this->container->create = time(); } return $this->sessionManager; }
public function setSessionStorage() { $gwOpts = new DbTableGatewayOptions(); $gwOpts->setDataColumn('data'); $gwOpts->setIdColumn('id'); $gwOpts->setLifetimeColumn('lifetime'); $gwOpts->setModifiedColumn('modified'); $gwOpts->setNameColumn('name'); if (isset($this->serviceConfig['base64Encode']) && $this->serviceConfig['base64Encode']) { $saveHandler = new EncodedDbTableGateway($this->tblGW, $gwOpts); } else { $saveHandler = new DbTableGateway($this->tblGW, $gwOpts); } $sessionManager = new SessionManager(); if ($this->sessionConfig) { $sessionConfig = new \Zend\Session\Config\SessionConfig(); $sessionConfig->setOptions($this->sessionConfig); $sessionManager->setConfig($sessionConfig); } $sessionManager->setSaveHandler($saveHandler); Container::setDefaultManager($sessionManager); $sessionManager->start(); }