Session的设置跟之前有点不一样

我们来看看2.0版本中的设置是什么样子的:

$config['sess_cookie_name']= 'test_session';
$config['sess_expiration']= 7200;
$config['sess_expire_on_close']= FALSE;
$config['sess_encrypt_cookie']= FALSE;
$config['sess_use_database']= TRUE;
$config['sess_table_name']= 'test_sessions';
$config['sess_match_ip']= FALSE;
$config['sess_match_useragent']= TRUE;
$config['sess_time_to_update']= 3000;
 
而3.0是这样的:
$config['sess_driver'] = 'database';  
$config['sess_cookie_name'] = 'test_session';
$config['sess_expiration'] = 3600;
$config['sess_save_path'] = 'test_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
 

首先是第一个改动,CI3.0支持更多的方式去存储session,包括files, database, redis, memcached以及自定义。

所以你可以在sess_driver那里修改为自己所需的存储方式。

然后是第四行的改动,第四行在使用文件存储的时候应当指定文件路径(使用默认的null即可),而使用数据库存储时需要改为数据表的名称,使用redis的时候需要改为tcp地址,如

tcp://localhost:6379

使用memcached也是一样要改为地址,如:

localhost:11211

数据库如何使用呢?

首先在application\config\config.php中配置好,然后去数据库创建表(MYSQL):

【备注:3.0版本的session数据表与2.0版本相差较大,建议删除2.0的数据表换成新的数据表】

CREATE TABLE IF NOT EXISTS `ci_sessions` (
        `id` varchar(40) NOT NULL,
        `ip_address` varchar(45) NOT NULL,
        `timestampint(10) unsigned DEFAULT NOT NULL,
        `data` blob NOT NULL,
        PRIMARY KEY (id),
        KEY `ci_sessions_timestamp` (`timestamp`)
);
如果你想要打开sess_match_ip的话还需要执行下面的语句
ALTER TABLE ci_sessions ADD CONSTRAINT ci_sessions_id_ip UNIQUE (id, ip_address);
这样配置就完成了,你可以使用2.0版本的方法进行调用。
 
 

CI框架3.0关于session的设置改动及存数据库的使用方法的更多相关文章

  1. CI框架3.0版本以后,前后台分离的方法。

    笔者认为,CI框架官方其实并没有考虑这个前后台分离的问题,所以没有官方的分离方法.而且,2.0版本的分离,也被官方认为这是一个bug.所以在前后台分离这个问题上,其实并不如thinkphp框架. 在C ...

  2. mysql设置远程訪问数据库的多种方法

    问题:MySQL权限设置正确,但仍无法远程訪问.通过telnet发现3306port未打开. 分析:MySQL默认仅仅绑定127.0.0.1,即:仅仅有在本机才干訪问3306port. 解决:找到My ...

  3. **【ci框架】精通CodeIgniter框架

    http://blog.csdn.net/yanhui_wei/article/details/25803945 一.大纲 1.codeigniter框架的授课内容安排 2.codeigniter框架 ...

  4. CI框架大纲总结

    一.大纲 1.codeigniter框架的授课内容安排 2.codeigniter框架的简介 |-----关于框架的概念 |-----使用CI框架的好处 |-----为什么选择CI框架 3.codei ...

  5. 基于CI框架的管理系统

    1:ci框架是有入口文件的,前端和后台入口文件(index.php,admin.php):里面修改$application_folder = 'application/home': 2:项目基本都是在 ...

  6. Nginx配置CI框架问题(Linux平台下Centos系统)

    CI框架:官方文档 http://codeigniter.org.cn/user_guide/index.html CI框架的数据流程图如下: 其中:index.php作为入口文件,在安装好CI框架后 ...

  7. Android Multimedia框架总结(十六)Camera2框架之openCamera及session过程

    转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/52942533 前言:前一篇介绍了 ...

  8. CI框架--浅谈前后台区分

    谈到CI框架,这是我第二个用到的框架,初步使用过后,眼前一亮.CI框架上手简单.模式明确.适合新手学习框架时入手. 下面给大家讲讲CI框架区分前后台文件的具体做法: 首先在application文件夹 ...

  9. mac ci框架安装使用 memcached存session

    mac 安装memcached brew info memcached brew install memcached brew install memcached 安装过程具体不详细多讲 memcac ...

随机推荐

  1. 关于EOF和循环体的搭配使用。

    在oj中,变成如果有EOF和循环体的话,可能网页输入一个东西之后会输入另一个不知道是什么鬼,所以会造成这种情况.可能在输入应该输入的值以后还有一个值一起输入了,导致这种事情的发生. 比较两个图片观察 ...

  2. 数据库添加数据I

    /*insert.php*/ <html> <head> <meta http-equiv="Content-Type" content=" ...

  3. python3爬虫初探(三)之正则表达式

    前面已经写了如何获取网页源码,那么接下来就是该解析网页并提取需要的数据了.这里简单写一下正则表达的用法. 首先,找个要抓取图片的网站,获取源码. import requests import re # ...

  4. ui-bootstrap-tpls-0.11.0.min.js

  5. Hex Editor实现Notepad++16进制编辑功能

    把HexEditor.dll文件复制到安装目录(如C:\Program Files\Notepad++\plugins),退出NotePad++重新打开即可!需要以十六进制显示时,点击菜单的:[插件] ...

  6. 2015GitWebRTC编译实录6

    2015.07.20 libbitrate_controller 编译通过依赖system_wrappers lib,编写测试代码时需要注意.[425/1600 ] CXX obj /webrtc/m ...

  7. gulp 制作雪碧图

    雪碧图:sprite 是把多张图片拼到一张图中,提升性能的一种做法.把合并的图片一次性加载到内存中,需要时只渲染一部分. 我们选择gulp.spritesmith插件. 使用gulp时首先要在指定的任 ...

  8. C++ Primer : 第九章 : 顺序容器的定义、迭代器以及赋值与swap

    顺序容器属于C++ STL的一部分,也是非常重要的一部分. 顺序容器包括: std::vector,包含在头文件<vector>中 std::string, 包含在头文件<strin ...

  9. PHP实例开发(1)PHP站内搜索

    PHP站内搜索:多关键字.加亮显示 1.SQL语句中的模糊查找 $sql = "SELECT * FROM `message` WHERE `content`like '%$k[0]%' a ...

  10. Codeforces Round #126 (Div. 2)

    A. Cinema 假设当前要的位置为\((x, y)\),如果枚举答案的横坐标,那么每次找离\(y\)最近的纵坐标. 如果占用了位置\((x,y)\),需要要更新第\(x\)行的信息,而占用位置\( ...