ThinkPHP实现将SESSION存入MYSQL的方法_php实例

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

首先index.php中设置为:

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

在config.php中设置为:

<?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

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存储上面创建的数据库中。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索mysql
, session
, thinkphp
存入
thinkphp 存入session、thinkphp session实例、session存入 mysql 类、thinkphp session、thinkphp session配置,以便于您获取更多的相关知识。

时间: 2024-09-29 18:43:12

ThinkPHP实现将SESSION存入MYSQL的方法_php实例的相关文章

thinkPHP多域名情况下使用memcache方式共享session数据的实现方法_php实例

本文实例讲述了thinkPHP多域名情况下使用memcache方式共享session数据的实现方法.分享给大家供大家参考,具体如下: 一.问题起源 稍大一些的网站,通常都会有好几个服务器,每个服务器运行着不同功能的模块,使用不同的二级域名,而一个整体性强的网站,用户系统是统一的,即一套用户名.密码在整个网站的各个模块中都是可以登录使用的.各个服务器共享用户数据是比较容易实现的,只需要在后端放个数据库服务器,各个服务器通过统一接口对用户数据进行访问即可.但还存在一个问题,就是用户在这个服务器登录之

实现PHP框架系列文章(6)mysql数据库方法_php实例

实现一个mysql数据库封装需要考虑的问题 1.使用方便性 采用直接sql语句操作方式.只要会写sql语句,那么将没有其他学习成本. uctphp框架提供的dba辅助封装类,用会之后将爱不释手. 使用前需要显示初始化并连接到数据库吗,当然不需要. 直到执行第一条sql语句之前,都不会去连接数据库,甚至不会new一个db对象. dba将会在合适的时机去连接数据库并执行初始化字符编码操作. 查询语句.不需要new一个查询构造器也不提供链式操作方式,那样复杂且低效. dba提供了以下的查询辅助函数.

ThinkPHP自动填充实现无限级分类的方法_php实例

本文实例展示了ThinkPHP自动填充实现无限级分类的方法,是ThinkPHP常用功能之一,非常具有实用价值.现将完整实例分享给大家,供大家参考.具体实现步骤如下: 表aoli_cate如下图所示: 一.action部分: aoli/Home/Lib/Action/CataAction.class.php文件如下: <?php class CateAction extends Action{ function index(){ $cate=M('cate'); $list=$cate->fie

ThinkPHP查询返回简单字段数组的方法_php实例

本文实例讲述了ThinkPHP查询返回简单字段数组的方法,是ThinkPHP程序设计中一个很实用的功能.具体方法如下: 通常来说使用select语句.返回的都是结构较复杂的字段数组.如以下是一个简单的查询: $map['parentid'] = $id; $sub_ids = D('Category')->where($map)->field("catid")->select(); 查询后,得到的结果是: [{"catid":"23&qu

ThinkPHP控制器间实现相互调用的方法_php实例

本文实例讲述了ThinkPHP控制器间实现相互调用的方法.分享给大家供大家参考.具体实现方法如下: ThinkPHP同一个项目里,两个控制器的方法如何相互调用呢?ThinkPHP提供了一个A(),通过它可以使控制器之间的方法相互调用,使得代码可以重复利用. 官方似乎对A()方法没有相关使用文档,现在通过一个例子来说一下如使用A()方法. 有两个控制器,ColumnsAction和NewsAction.ncatlist()是ColumnsAction的分类列表方法,现在我要在控制器NewsActi

让ThinkPHP支持大小写url地址访问的方法_php实例

本文实例讲述了让thinkphp支持大小写url地址访问的方法.分享给大家供大家参考.具体实现方法如下: 通常ThinkPHP默认是区别大小写url的,这种也是与linux系统一样在小写url是两个不同的名字,但我们使用windows习惯了对于大小写都认为一样的,所以还是要根据用户习惯来处理问题,下面我们一起来看问题解决方法. 在配置文件中开启了thinkphp的大小写识别功能,使链接大小写都可以正常访问: 'URL_CASE_INSENSITIVE' =>true 文件命名都是规范的,但是在模

ThinkPHP和UCenter接口冲突的解决方法_php实例

本文分析了ThinkPHP和UCenter接口冲突的解决方法.分享给大家供大家参考,具体如下: 1.引出问题: 在UCenter中存在db和base两个类,恰巧这两个类也存在于ThinkPHP中,因此出现问题是必然的事情. db类:uc_client/lib/db.class.php base类:uc_client/model/base.php 2.问题解决方法: 只要消除"重名"即可解决,因此选择更改UCenter中的名称. 3.实际操作方法: db类: 更改db.class.php

Thinkphp调用Image类生成缩略图的方法_php实例

本文实例讲述了Thinkphp调用Image类生成缩略图的方法.分享给大家供大家参考.具体分析如下: Thinkphp的Image类 在ThinkPHP/Extend/Library/ORG/Util/Image.class.php中. 调用方法如下: import("ORG.Util.Image"); $Img = new Image();//实例化图片类对象 $image_path = './图片路径'; //若当前php文件在Thinkphp的中APP_PATH路径中 //'./

ThinkPHP基于PHPExcel导入Excel文件的方法_php实例

本文实例讲述了ThinkPHP基于PHPExcel导入Excel文件的方法.分享给大家供大家参考.具体方法如下: 主要知识点,用PHPExcel导入Excel数据经过这几天测试还是可以,xls,xlsx都可以获取Excel的数据. 下载地址:http://phpexcel.codeplex.com/ 开发思路: 1.先把Excel文件上传到服务器 2.获取服务器Excel文件内容 3.写入数据库 一.上传Excel文件,使用PHP里自带的上传方法 "\Think\Upload();",