zoukankan      html  css  js  c++  java
  • thinkphp session db配置

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

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

    首先index.php中设置为:

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

    在config.php中设置为:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    return 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

    1
    2
    3
    4
    5
    6
    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的调用

    1
    session('session_name','session_value')

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

    注:亲测可行
  • 相关阅读:
    前端生成pdf文件之pdfmake.js
    vim 安装
    linux基础学习
    python 编码处理
    Ubuntu 下配置 SSH服务全过程及问题解决
    yum 安装
    Ubuntu安装MySQL
    Linux各发行版本及其软件包管理方法
    轻松学习LINUX系列教程推出
    常用命令
  • 原文地址:https://www.cnblogs.com/liuwenbohhh/p/4377487.html
Copyright © 2011-2022 走看看