Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. SessionStorageInterface.php

function SessionStorageInterface::regenerate

Regenerates id that represents this storage.

This method must invoke session_regenerate_id($destroy) unless this interface is used for a storage object designed for unit or functional testing where a real PHP session would interfere with testing.

Note regenerate+destroy should not clear the session data in memory only delete the session data from persistent storage.

Care: When regenerating the session ID no locking is involved in PHP's session design. See https://bugs.php.net/61470 for a discussion. So you must make sure the regenerated session is saved BEFORE sending the headers with the new ID. Symfony's HttpKernel offers a listener for this. See Symfony\Component\HttpKernel\EventListener\SaveSessionListener. Otherwise session data could get lost again for concurrent requests with the new ID. One result could be that you get logged out after just logging in.

Parameters

bool $destroy Destroy session when regenerating?:

int|null $lifetime Sets the cookie lifetime for the session cookie. A null value: will leave the system settings unchanged, 0 sets the cookie to expire with browser session. Time is in seconds, and is not a Unix timestamp.

Throws

\RuntimeException If an error occurs while regenerating this storage

2 methods override SessionStorageInterface::regenerate()
MockArraySessionStorage::regenerate in vendor/symfony/http-foundation/Session/Storage/MockArraySessionStorage.php
Regenerates id that represents this storage.
NativeSessionStorage::regenerate in vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php
Regenerates id that represents this storage.

File

vendor/symfony/http-foundation/Session/Storage/SessionStorageInterface.php, line 83

Class

SessionStorageInterface
StorageInterface.

Namespace

Symfony\Component\HttpFoundation\Session\Storage

Code

public function regenerate(bool $destroy = false, ?int $lifetime = null) : bool;

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal