SunshinePHP 2020 CFP Started

SessionHandlerInterface::write

(PHP 5 >= 5.4.0, PHP 7)

SessionHandlerInterface::writeEcrit les données de session

Description

abstract public SessionHandlerInterface::write ( string $session_id , string $session_data ) : bool

Écrit les données de session dans le stockage de session. Appelé par session_write_close(), lorsque session_register_shutdown() échoue, ou lors d'un arrêt normal. Note : SessionHandlerInterface::close() est appelée immediatement après cette fonction.

PHP appelera cette fonction lorsque la session est prête à être sauvegardée et fermée. Il encode les données issues de $_SESSION vers une chaine sérialisée et la passe avec l'ID de session au support de stockage. La méthode de sérialisation utilisé est définit dans le paramètre session.serialize_handler.

Cette méthode est normalement appelée par PHP après que les tampons de sortie ont été fermé sauf si session_write_close() est explicitement appellé.

Liste de paramètres

session_id

L'identifiant de session.

session_data

Les données de session encodées. Ces données sont le résultat de l'encodage interne par PHP de la superglobale $_SESSION à une chaine sérialisée et le passer en tant que ce paramètre. Veuillez noter que les sessions utilise une méthode de sérialisation alternative.

Valeurs de retour

La valeur retournée (habituellement TRUE en cas de succès, FALSE si une erreur survient). Notez que cette valeur est retournée en interne à PHP pour analyse.

Voir aussi

add a note add a note

User Contributed Notes 3 notes

up
4
barkoczi dot roland at aercode dot com
4 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
3
jotremb at hotmail dot com
2 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
1
Aeric Poon
4 months 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