Получает и (или) устанавливает название текущей сессии

# session_name

(PHP 4, PHP 5, PHP 7, PHP 8)

session_name — Получает и (или) устанавливает название текущей сессии

### Описание

function session_name(?string `$name` = `null`): string|false

Функция session_name() возвращает название текущей сессии. При передаче аргумента в параметр `name` функция session_name() обновит название и вернёт старое название сессии.

Функция session_name() изменяет название сессии в блоке данных cookie HTTP-протокола, а при включённой директиве session.use_trans_sid — в содержимом вывода, если для сессии указали новое имя `name`. Функция session_name() выдаёт ошибку уровня `E_WARNING`, если функцию вызвали после отправки cookie HTTP-протокола. Функцию session_name() вызывают до вызова функции session_start(), чтобы сессия работала правильно.

При запуске запроса название сессии сбрасывается на значение по умолчанию, которое хранится в директиве `session.name`. Поэтому функцию session_name() требуется вызывать для каждого запроса, и до вызова функции session_start().

### Список параметров

`name`

  Название сессии ссылается на название сессии, которое сохраняется в блоках данных cookie и подставляется в URL-адреса содержимого страницы. Пример имени сессии: `PHPSESSID`. Для имён сессий разрешается указывать только буквенно-цифровые символы; лучше предпочесть короткие и понятные названия, которое, например, увидят пользователи с включённым предупреждением о блоках данных cookie. Имя текущей сессии изменится на значение аргумента, если в параметр `name` передали аргумент, значение которого не равно `null`.

  Внимание

  Название сессии нельзя составлять только из цифр, в имени требуется указать хотя бы одну букву. При нарушении требования PHP каждый раз будет генерировать новый идентификатор.

### Возвращаемые значения

Функция возвращает имя текущей сессии. С параметром `name` функция обновляет название текущей сессии и возвращает старое название сессии или `false`, если возникла ошибка.

### Список изменений

Версия | Описание
--- | ---
8.0.0 | Параметр `name` теперь принимает значение `null`.
7.2.0 | Функция session_name() проверяет статус сессии, раньше функция проверяла только статус cookie. Поэтому старую версию функции session_name() разрешалось вызывать после вызова функции session_start(), что иногда приводило к сбою PHP и неправильному поведению.

### Примеры

Пример #1 Пример использования функции session_name()

    <?php

    /* Устанавливаем для имени сессии значение "WebsiteID" */

    $previous_name = session_name("WebsiteID");

    echo "Раньше сессия называлась '{$previous_name}'";

    ?>

### Смотрите также

- Параметр конфигурации session.name

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open