找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 419|回复: 0
打印 上一主题 下一主题

ThinkPHP实现将SESSION存入MYSQL的方法

[复制链接]

2647

主题

2647

帖子

7881

积分

论坛元老

Rank: 8Rank: 8

积分
7881
跳转到指定楼层
楼主
发表于 2018-2-14 05:55:59 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

            本文以实例讲解了ThinkPHP实现将SESSION存入MYSQL的方法,所采用的运行环境是ThinkPHP3.1.2版
首先index.php中设置为:
在config.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
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存储上面创建的数据库中。
            
            
您可能感兴趣的文章:
  • 解析php session_set_save_handler 函数的用法(mysql)
  • PHP实现利用MySQL保存session的方法
  • php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
  • SQLServer中使用扩展事件获取Session级别的等待信息及SQLServer 2016中Session级别等待信息的增强
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端