Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选

首页 / 网页编程 / PHP / ThinkPHP实现将SESSION存入MYSQL的方法

本文以实例讲解了ThinkPHP实现将SESSION存入MYSQL的方法,所采用的运行环境是ThinkPHP3.1.2版
首先index.php中设置为:
<?phpdefine("APP_DEBUG", true);//设置为调试模式require "../ThinkPHP/ThinkPHP.php";//设置入口文件ini_set("session.save_handler", "user");//设置PHP的SESSION由用户定义
在config.php中设置为:
<?phpreturn array(//"配置项"=>"配置值"// 添加数据库配置信"SHOW_PAGE_TRACE" =>true,"DB_TYPE"=> "mysql", // 数据库类型"DB_HOST"=> "localhost", // 服务器地址"DB_NAME"=> "thinkphp", // 数据库名"DB_USER"=> "你的用户名", // 用户名"DB_PWD"=> "你的密码", // 密码"DB_PORT"=> 3306, // 端口"DB_PREFIX" => "think_", // 数据库表前缀缀"SESSION_OPTIONS"=>array("type"=> "db",//session采用数据库保存"expire"=>1440,//session过期时间,如果不设就是php.ini中设置的默认值),"SESSION_TABLE"=>"think_session", //必须设置成这样,如果不加前缀就找不到数据表,这个需要注意);?>
数据库设置采用SessionDb.class.php中的DDL,不过后面加了ENGINE=MyISAM DEFAULT CHARSET=utf8
CREATE TABLE think_session (session_id varchar(255) NOT NULL,session_expire int(11) NOT NULL,session_data blob,UNIQUE KEY `session_id` (`session_id`))ENGINE=MyISAM DEFAULT CHARSET=utf8;
现在访问你的 index.php 后再在 phpmyadmin 中找到 think_session 表,我们会惊喜的发现多了条数据。
至此问题搞定。其他不要设置了,SessionDb.class.php会自动加载.
这样ThinkPHP的调用
session("session_name","session_value")
系统就会自动把这个session存储上面创建的数据库中。