发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA

轻松地将PHP会话保存在MySQL数据库

2017-02-28 20:30
赞助商链接

PHP-MySQL-Sessions能够轻松地将PHP会话保存在MySQL数据库,

会话中包含的是和用户唯一标识相关联的数据。通常,PHP默认在服务器上的本地文件系统中存储会话变量。虽然这对于许多运行中小型PHP应用程序的人来说是可以接受的,但是如果一些较大的应用程序需要负载平衡,将负载均衡在多个服务器上运行。在这种情况下,运行PHP的每个服务器都需要一种方法来确保能访问到用户会话以继续正常工作,如果会话还是保存在每个服务器的本地文件系统,那么就要在多个服务器之间传送会话中数据。

如果将会话数据统一保存在MySQL数据库,实现多个服务器共享,它们使用PHP对MySQL数据库中的表执行打开,读取,写入和销毁会话变量数据的操作。Web应用程序可以获得诸如会话管理,会话日志记录和会话交互等优势。

使用方法:
1.在MySQL建立会话数据库

CREATE TABLE sessions
(
id varchar(32) NOT NULL,
access int(10) unsigned,
data text,
PRIMARY KEY (id)
);


2.编辑database.class.php,改变设置:
define("DB_HOST", "localhost");
define("DB_USER", "yourusername");
define("DB_PASS", "1234567890");
define("DB_NAME", "yourdbname");

3.在PHP头部定义:
include("database.class.php"); //Include MySQL database class
include("mysql.sessions.php"); //Include PHP MySQL sessions
$session = new Session(); //Start a new PHP MySQL session

存储会话变量数据:
//Store variable as usual
$_SESSION['user'] = "johnsmith@example.com";

获得会话数据:
//Show stored user
echo $_SESSION['user'];

销毁会话,用户退出时使用:
//Clear session data (only data column)
session_unset();
//Destroy the entire session
session_destroy();


GitHub - dominicklee/PHP-MySQL-Sessions: Easily st

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com