/**
  * {@inheritdoc}
  */
 public function regenerate($destroy = false, $lifetime = null)
 {
     if (!$this->started) {
         $this->start();
     }
     $this->metadataBag->stampNew($lifetime);
     $this->id = $this->generateId();
     return true;
 }
Пример #2
0
 /**
  * {@inheritdoc}
  */
 public function regenerate($destroy = false, $lifetime = null)
 {
     if (null !== $lifetime) {
         ini_set('session.cookie_lifetime', $lifetime);
     }
     if ($destroy) {
         $this->metadataBag->stampNew();
     }
     return session_regenerate_id($destroy);
 }
Пример #3
0
 /**
  * {@inheritdoc}
  */
 public function regenerate($destroy = false, $lifetime = null)
 {
     if (null !== $lifetime) {
         ini_set('session.cookie_lifetime', $lifetime);
     }
     if ($destroy) {
         $this->metadataBag->stampNew();
     }
     $isRegenerated = session_regenerate_id($destroy);
     // The reference to $_SESSION in session bags is lost in PHP7 and we need to re-create it.
     // @see https://bugs.php.net/bug.php?id=70013
     $this->loadSession();
     return $isRegenerated;
 }
Пример #4
0
 /**
  * {@inheritdoc}
  */
 public function regenerate($destroy = false, $lifetime = null)
 {
     if (!$this->started) {
         $this->start();
     }
     if ($lifetime !== null) {
         $this->options['cookie_lifetime'] = $lifetime;
     }
     if ($destroy) {
         $this->metadataBag->stampNew($lifetime);
         $this->handler->destroy($this->id);
     }
     $this->id = $this->generator->generateId();
     return true;
 }
Пример #5
0
 /**
  * {@inheritdoc}
  */
 public function regenerate($destroy = false, $lifetime = null)
 {
     if (null !== $lifetime) {
         ini_set('session.cookie_lifetime', $lifetime);
     }
     if ($destroy) {
         $this->metadataBag->stampNew();
     }
     $ret = session_regenerate_id($destroy);
     // workaround for https://bugs.php.net/bug.php?id=61470 as suggested by David Grudl
     session_write_close();
     $backup = $_SESSION;
     session_start();
     $_SESSION = $backup;
     return $ret;
 }
Пример #6
0
 /**
  * {@inheritdoc}
  */
 public function regenerate($destroy = false, $lifetime = null)
 {
     if (!$this->started) {
         $this->start();
     }
     if ($lifetime !== null) {
         $this->options['cookie_lifetime'] = $lifetime;
     }
     if ($destroy) {
         $this->metadataBag->stampNew($lifetime);
         $this->handler->destroy($this->id);
     } else {
         $this->write();
     }
     $this->handler->close();
     $this->id = $this->generator->generateId();
     $this->handler->open(null, $this->name);
     // read is required to make new session data at this point
     $this->handler->read($this->id);
     return true;
 }
Пример #7
0
 /**
  * {@inheritdoc}
  */
 public function regenerate($destroy = false, $lifetime = null)
 {
     // Cannot regenerate the session ID for non-active sessions.
     if (PHP_VERSION_ID >= 50400 && \PHP_SESSION_ACTIVE !== session_status()) {
         return false;
     }
     // Check if session ID exists in PHP 5.3
     if (PHP_VERSION_ID < 50400 && '' === session_id()) {
         return false;
     }
     if (null !== $lifetime) {
         ini_set('session.cookie_lifetime', $lifetime);
     }
     if ($destroy) {
         $this->metadataBag->stampNew();
     }
     $isRegenerated = session_regenerate_id($destroy);
     // The reference to $_SESSION in session bags is lost in PHP7 and we need to re-create it.
     // @see https://bugs.php.net/bug.php?id=70013
     $this->loadSession();
     return $isRegenerated;
 }
 /**
  * {@inheritdoc}
  */
 public function regenerate($destroy = false, $lifetime = null)
 {
     if (null !== $lifetime) {
         ini_set('session.cookie_lifetime', $lifetime);
     }
     if ($destroy) {
         $this->metadataBag->stampNew();
     }
     $ret = session_regenerate_id($destroy);
     // workaround for https://bugs.php.net/bug.php?id=61470 as suggested by David Grudl
     if ('files' === $this->getSaveHandler()->getSaveHandlerName()) {
         session_write_close();
         if (isset($_SESSION)) {
             $backup = $_SESSION;
             session_start();
             $_SESSION = $backup;
         } else {
             session_start();
         }
         $this->loadSession();
     }
     return $ret;
 }