PHP如何将Session存储在数据库中(2)
session_set_save_hander函数正是为此设计的。这个函数接受的参数是6个函数的名称,应该使用这些函数进行会话处理。这六个函数如下:
- open这个函数用来开始或“打开”会话存储机制,它必须在成功时返回TRUE,在失败时返回FALSE。
- close这个函数关闭并终止会话存储操作。它在成功时返回TRUE,在失败时返回FALSE。
- read当从存储中装载会话数据时使用这个函数。这个函数的参数是要获取其数据的会话ID。它在成功时返回请求的会话数据(这是一大段文本,PHP使用这些文本来重新构造会话数据),在失败时返回“”。
- write这个函数将给定会话ID的所有数据写到存储中。写入的这些数据是一大段文本。这个函数在成功时返回TRUE,在失败时返回FALSE。
- destroy当破坏与指定的会话ID相关联的数据时,调用这个函数。它在完成是返回TRUE。
- gc这个函数对存储系统中的数据进行垃圾收集。传递给这个函数的参数时会话数据的有效期(秒数)。这个函数在成功时返回TRUE。
为了展示这种机制的工作方式,我们编写了一个简单的范例。这个范例使用mysqli类将会话信息存储在MYSQL数据库中。为此,需要用以下语句在数据库中创建一个新的表:
CREATE TABLE SessionData
{
session_id VARCHAR(255) PRIMARY KEY,
last_update DATETIME,
session_data text
};
If you enjoyed this post, please consider to leave a comment or subscribe to the feed and get future articles delivered to your feed reader.

Comments
还没有评论。
发表评论