CakeFest 2024: The Official CakePHP Conference

SessionHandlerInterface::write

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

SessionHandlerInterface::writeSpeichert die Session-Daten

Beschreibung

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

Schreibt die Session-Daten in den Session-Speicher. Wird von session_write_close() aufgerufen, wenn session_register_shutdown() fehlschlägt oder beim normalen Herunterfahren. Hinweis: Unnmittelbar nach dieser Funktion wird SessionHandlerInterface::close() aufgerufen.

Diese Methode wird von PHP aufgerufen, wenn die Session bereit ist, gespeichert und geschlossen zu werden. Es kodiert die Session-Daten aus der Superglobalen $_SESSION in eine serialisierte Zeichenkette und übergibt diese zusammen mit der Session-ID zur Speicherung an diese Methode. Die verwendete Serialisierungsmethode wird in der Einstellung session.serialize_handler festgelegt.

Zu beachten ist, dass diese Methode normalerweise von PHP aufgerufen wird, nachdem die Ausgabepuffer geschlossen wurden, es sei denn, sie wird explizit durch session_write_close() aufgerufen.

Parameter-Liste

id

Die Session-ID

data

Die kodierten Session-Daten. Diese Daten sind das Ergebnis der internen PHP-Kodierung der Superglobale $_SESSION in eine serialisierte Zeichenkette und deren Übergabe als dieser Parameter. Es ist zu beachten, dass Sessions eine andere Serialisierungsmethode verwenden.

Rückgabewerte

Der Rückgabewert (normalerweise true bei Erfolg und false bei Misserfolg). Es ist zu beachten, dass dieser Wert intern PHP zur Verarbeitung zurückgegeben wird.

Siehe auch

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
8 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
4 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