PHP 8.4.2 Released!

SessionHandlerInterface::read

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandlerInterface::readLeer información de sesión

Descripción

public SessionHandlerInterface::read(string $id): string|false

Lee la información de sesión desde el almacenamiento de sesiones, y devuelve el resultado. Llamado justo después de iniciarse una sesión o cuando es llamada session_start(). Observe que antes de que este método sea llamado SessionHandlerInterface::open() es invocado.

Este método es llmado por PHP cuando la sesión es iniciada. Este método debería recuperar la información de sesión desde el almacenamiento mediante el ID de sesión proporcionado. La cadena devuelta por este método debe estar en el mismo formato serializado que el orgibal pasado a SessionHandlerInterface::write() Si no se encuentra el registro, devuelve false.

La información devuelta por este método será decodificada internamente por PHP usando el método de deserialización especificado en session.serialize_handler. La información resultante será usada para rellenar la variable superglobal $_SESSION.

Observe que el esquema de serialización no es el mismo que unserialize() y pudede accederse a él mediante session_decode().

Parámetros

id

El ID de sesión.

Valores devueltos

Devuelve una cadena codificada de la información leída. Si no se leyó nada, debe devolver false. Observe que este valor es devuelto internamente por PHP para procesamiento.

Ver también

add a note

User Contributed Notes 1 note

up
10
Anonymous
1 year ago
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.
To Top