session_name
(PHP 4, PHP 5, PHP 7)
session_name — Получить или установить имя текущей сессии
Описание
$name
= null
) : string|false
session_name() возвращает имя текущей
сессии. Если задан параметр name
,
session_name() обновит имя сессии и вернет
старое имя сессии.
Если новое имя сессии (name
) предоставлено,
session_name() изменяет cookie HTTP
(и выводит содержимое при включенной опции session.transid
).
Когда cookie HTTP отправлены, session_name() вызывает ошибку.
session_name() необходимо вызывать до
session_start() для правильной работы сессии.
Имя сессии сбрасываются на значение по умолчанию, хранящегося в
session.name
во время запуска запроса. Таким образом, вам нужно
вызывать session_name() для каждого запроса (и до
session_start()).
Список параметров
-
name
-
Имя сессии ссылается на имя сессии, которое используется в cookie и URL (например,
PHPSESSID
). Оно должно содержать только буквенно-цифровые символы, и должен быть коротким и понятными (например, для пользователей с включенным предупреждением cookie). Если задан параметрname
и он не равенnull
, имя текущей сессии поменяется на него.ВниманиеИмя сессии не может состоять только из цифр, по крайней мере, одна буква должна присутствовать. В противном случае каждый раз будет генерироваться новый идентификатор.
Возвращаемые значения
Возвращает имя текущей сессии. Если задан параметр name
, имя
текущей сессии поменяется и будет возвращено старое, или false
в случае возникновения ошибки.
Список изменений
Версия | Описание |
---|---|
8.0.0 |
module теперь может быть null .
|
7.2.0 | session_name() проверяет статус сессии, ранее она проверяла только статус cookie. Поэтому старая версия session_name() позволяла вызывать session_name() после session_start(), что могло привести к сбою PHP и неправильному поведению. |
Примеры
Пример #1 Пример использования session_name()
<?php
/* устанавливает имя сессии равным WebsiteID */
$previous_name = session_name("WebsiteID");
echo "Предыдущее имя сессии: $previous_name<br />";
?>