PHP 8.4.1 Released!

SessionHandlerInterface::write

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

SessionHandlerInterface::writeEscribir información de sesión

Descripción

public SessionHandlerInterface::write(string $id, string $data): bool

Escribe información de sesión al almacenamiento de sesiones. Llamado por session_write_close(), cuando session_register_shutdown() falla, o durante un cierre normal. Nota: SessionHandlerInterface::close() es llamado inmediantamente después de esta función.

PHP llamará a este método cuando la sesión esté lista para ser almacenada y cerrada. Codifica la información de sesión desde la variable superglobal $_SESSION a una cadena serializada y la pasa junto con el ID de sersión a este método para el almacenamiento. El método de serialización usado está especificado en la configuración session.serialize_handler.

Observe que este método normalmente es llamado por PHP después de que los buffers de salida hayan sido cerrados a menos que se llame explícitamente a session_write_close()

Parámetros

id

El ID de sesión.

data

La información de sesión codificada. Esta información es el resultado de que PHP codifique internamente la variable supergobal $_SESSION a una cadena serializada y pasarla a este parámetro. Observe que las sesiones usan un método de serialización alternativo.

Valores devueltos

El valor devuelto (normalmente true en caso de éxito, false en caso de error). Observe que este valor es devuelto internamente a PHP para su procesamiento.

Ver también

add a note

User Contributed Notes 3 notes

up
3
jotremb at hotmail dot com
7 years ago
It is important to note that if returning FALSE from this method, PHP will in turn output the following warning:

Warning: Unknown: Failed to write session data (user). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in Unknown on line 0.

This could cause minor inconveniences, however if the session should not be written as per design, then returning TRUE after handling (and not writing) the session will avoid further issues.

All in all, better return TRUE at all times except in cases of hard errors.
up
2
barkoczi dot roland at aercode dot com
9 years ago
Note: this function won't be called in case $session_data is unchanged. In order to call this function every time when session is about closing, add $_SESSION["timestamp"] = time();
up
1
Aeric Poon
5 years ago
Warning: session_write_close(): Session callback expects true/false return value in Unknown on line 0

I have returned TRUE in write() but the warning still persist. Then I also return TRUE in close() and the warning is gone.
To Top