SessionHandlerInterface::read

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

SessionHandlerInterface::readLit les données de session

Description

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

Lit les données de session depuis le support de stockage et retourne le résultat. Appelé juste après que la session démarre ou lorsque session_start() est appelée. Notez qu'avant que cette méthode ne soit appelée, SessionHandlerInterface::open() est invoquée.

Cette méthode est appelée par PHP lui-même lorsque la session démarre. Cette méthode devrait retourner les données de session lues depuis le support de stockage en fonction de l'ID de session. La chaine retournée devrait être encodée par le même mécanisme de sérialisation que celui utilisé pour écrire les données lors de SessionHandlerInterface::write(). Si rien n'est lu, une chaine vide est retournée.

Les données retournées par cette méthode seront décodées en interne par PHP en utilisant le mécanisme de désérialisation spécifié dans session.serialize_handler. Les données résultantes seront utilisées pour peupler $_SESSION.

Notez que l'algorithme de sérialisation peut être différent de unserialize() et peut être utilisé manuellement au moyen de session_decode().

Liste de paramètres

id

L'identifiant de session.

Valeurs de retour

Retourne les données lues encodées. Si rien n'est lu false doit être retourné. Notez que cette valeur est destiné aux processus internes à PHP.

Voir aussi

add a note add a note

User Contributed Notes 1 note

up
1
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