当前位置:首页 > CMS教程 > Thinkphp > 列表

ThinkPHP实现将SESSION存入MYSQL的方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-03-23 11:56:24 浏览: 评论:0 

这篇文章主要介绍了ThinkPHP实现将SESSION存入MYSQL的方法,需要的朋友可以参考下

本文以实例讲解了ThinkPHP实现将SESSION存入MYSQL的方法,所采用的运行环境是ThinkPHP3.1.2版

首先index.php中设置为:

  1. define('APP_DEBUG', true);//设置为调试模式 
  2. require '../ThinkPHP/ThinkPHP.php';//设置入口文件 
  3. ini_set("session.save_handler""user");//设置PHP的SESSION由用户定义 

在config.php中设置为:

  1. <?php 
  2. return array(//'配置项'=>'配置值' 
  3.       // 添加数据库配置信 
  4.   'SHOW_PAGE_TRACE' =>true, 
  5.   'DB_TYPE'  => 'mysql'// 数据库类型 
  6.   'DB_HOST'  => 'localhost'// 服务器地址 
  7.   'DB_NAME'  => 'thinkphp'// 数据库名 
  8.   'DB_USER'  => '你的用户名'// 用户名 
  9.   'DB_PWD'  => '你的密码'// 密码 
  10.   'DB_PORT'  => 3306, // 端口 
  11.   'DB_PREFIX' => 'think_'// 数据库表前缀缀 
  12. 'SESSION_OPTIONS'=>array
  13.     'type'=> 'db',//session采用数据库保存 
  14.     'expire'=>1440,//session过期时间,如果不设就是php.ini中设置的默认值 
  15.   ), 
  16. 'SESSION_TABLE'=>'think_session'//必须设置成这样,如果不加前缀就找不到数据表,这个需要注意 
  17. ); 
  18. ?> 

数据库设置采用SessionDb.class.php中的DDL,不过后面加了ENGINE=MyISAM DEFAULT CHARSET=utf8

  1. CREATE TABLE think_session ( 
  2.     session_id varchar(255) NOT NULL, 
  3.     session_expire int(11) NOT NULL, 
  4.     session_data blob, 
  5.     UNIQUE KEY `session_id` (`session_id`) 
  6.   )ENGINE=MyISAM DEFAULT CHARSET=utf8; 

现在访问你的 index.php 后再在 phpmyadmin 中找到 think_session 表,我们会惊喜的发现多了条数据。

至此问题搞定。其他不要设置了,SessionDb.class.php会自动加载.

这样ThinkPHP的调用

session('session_name','session_value')

系统就会自动把这个session存储上面创建的数据库中。

Tags: ThinkPHP SESSION

分享到: