本文以实例讲解了ThinkPHP实现将SESSION存入MysqL的方法,所采用的运行环境是ThinkPHP3.1.2版
首先index.PHP中设置为:
PHP;">
PHP
define('APP_DEBUG',true);//设置为调试模式
require '../ThinkPHP/ThinkPHP.PHP';//设置入口文件
ini_set("session.save_handler","user");//设置PHP的SESSION由用户定义
在config.PHP中设置为:
PHP;">
'配置值'
// 添加数据库配置信
'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
sql;">
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会自动加载.
PHP;">
session('session_name','session_value')
原文链接:https://www.f2er.com/thinkphp/24124.html