略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: SessionHandlerInterface::write

2024-11-13

SessionHandlerInterface::write

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

SessionHandlerInterface::writeWrite session data

说明

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

Writes the session data to the session storage. Called by session_write_close(), when session_register_shutdown() fails, or during a normal shutdown. Note: SessionHandlerInterface::close() is called immediately after this function.

PHP will call this method when the session is ready to be saved and closed. It encodes the session data from the $_SESSION superglobal to a serialized string and passes this along with the session ID to this method for storage. The serialization method used is specified in the session.serialize_handler setting.

Note this method is normally called by PHP after the output buffers have been closed unless explicitly called by session_write_close()

参数

id

The session id.

data

The encoded session data. This data is the result of the PHP internally encoding the $_SESSION superglobal to a serialized string and passing it as this parameter. Please note sessions use an alternative serialization method.

返回值

会话存储的返回值(通常成功返回 0,失败返回 1)。

参见

add a noteadd a note

User Contributed Notes 3 notes

up
4
barkoczi dot roland at aercode dot com
7 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
5 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
3 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.

官方地址:https://www.php.net/manual/en/sessionhandlerinterface.write.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3