micheledef / pdo-session-handler
使用PDO和SessionHandlerInterface接口在数据库中存储数据
v1.0.0
2023-03-13 10:52 UTC
Requires
- php: >=7.2
README
使用PDO和SessionHandlerInterface接口在数据库中存储会话数据
通过Composer安装
composer require micheledef/pdo-session-handler
创建会话表
CREATE TABLE session ( `id` varchar(256) NOT NULL, `name` varchar(256) NOT NULL, `value` longtext, `last_update` int(11) NOT NULL, PRIMARY KEY (`id`,`name`) ) ENGINE = INNODB;
要使用PDOSessionHandler会话处理程序,需要使用session_set_save_handler()函数,该函数接受一个实现了SessionHandlerInterface接口的类作为输入参数,因此在我们的情况下,我们将按以下方式进行
快速入门
<?php require 'vendor/autoload.php'; use Micheledef\PdoSessionHandler\PDOSessionHandler; $username = "username"; $password = "password"; $databasename = "databasename"; $pdo = new PDO( "mysql:dbname=$databasename;host=localhost;", $username, $password ); session_set_save_handler(new PDOSessionHandler($pdo));
要开始使用此数据处理器进行会话,只需执行session_start()函数
<?php session_start();
这样,对$_SESSION全局数组的任何修改或读取都将导致对先前看到的会话表中存储的会话数据的修改,此模式可用于在多个服务器之间共享会话数据。