SessionHandlerInterface::read
(PHP 5 >= 5.4.0)
SessionHandlerInterface::read — Читает данные сессии
Описание
$session_id
)Читает данные сессии из хранилища сессий и возвращает результат. Вызывается сразу после старта сессии или когда вызвана session_start(). Пожалуйста, обратите внимание, что перед вызовом этого метода будет вызвана функция SessionHandlerInterface::open().
Этот метод вызывается PHP когда стартует сессия. Этот метод должен получить данные сессии из хранилища по указанному её идентификатару. Строка, возвращаемая этим методом, должна иметь тот же сериализованный формат, что и исходная, которая передавалась функции SessionHandlerInterface::write(). Если запись не найдена, возвращается пустая строка.
Данные, возвращаемые этим методом, будут расшифрованы внутри PHP, используя метод десериализации, указанный в session.serialize_handler. Полученные данные будут использованы для заполнения суперглобального массива $_SESSION.
Обратите внимание, что порядок сериализации данных не такой, как в функции unserialize(), и получить доступ к данным можно с помощью функции session_decode().
Список параметров
-
session_id
-
Идентификатор сессии.
Возвращаемые значения
Возвращает закодированную строку прочитанных данных. Если ничего не прочитано, возвращается пустая строка. Обратите внимание, что это значение передается для обработки внутри PHP.
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для работы с сессиями
- Управление сессиями
- Функция SessionHandlerInterface::close() - Закрывает сессию
- Функция SessionHandlerInterface::destroy() - Уничтожает сессию
- Функция SessionHandlerInterface::gc() - Очищает старые сессии
- Функция SessionHandlerInterface::open() - Initialize session
- Функция SessionHandlerInterface::read() - Читает данные сессии
- Функция SessionHandlerInterface::write() - Записать данные сессии
Коментарии
It appears that, if this function returns false, it causes "session_start(): Failed to read session data: user" to be emitted in the error log. This also seems to have a cascading effect that causes the write() method not to be called.
So, returning false appears to only be for indicating an error state. To indicate that there is no existing session, but that it is okay to create one, it appears that returning an empty string is the way to go.