用户
 找回密码
 入住 CI 中国社区
搜索
查看: 10565|回复: 6
收起左侧

[会话/Cookie] 关于在CI中使用session的个人解决办法

[复制链接]
发表于 2010-6-5 13:36:24 | 显示全部楼层 |阅读模式
众所周知,CI的session设置不是很理想,作为开发人员对CI如此设置session的目的和初衷很不理解,可以归类为国情吧。
有很多替代CI的session的解决办法,这里,介绍一下我的方式,就是使用PHP自带的session。
方法是:
(1)不在autoload.php中挂在CI的session。位置:system/application/config/autoload.php
(2)在system同级的index.php中顶部,开启PHP自带的缓存.session_start();
(3)在system/application/helper中,自行写入各种session判断的程序,并导引页面及程序的redirect。
(4)在需要用到session的场合中,加入session判断。
(5)清空缓存时,使用session_unset().
这样,PHP自带的session什么样,我们在CI的开发中可以继续使用。减少了很多不必要的麻烦。
当然也可以使用kndb的方式把session写入数据库里,这就看项目本身的情况而言了,与CI和php自带的session实现方式无关了。
发表于 2010-6-8 13:38:59 | 显示全部楼层
也可以使用我发布的 Session 类库。
发表于 2010-6-8 15:07:52 | 显示全部楼层
本帖最后由 kunwsk 于 2010-6-8 15:09 编辑

虽然sessionid 用的是 cookie来保存。但是我认为他们的最大区别是session在服务器端保存。 cookie全部都保存在客户端。 不要公用一个名字,用该区分一下,不然感觉混淆了。 以后大家都认为他们是一个东西了。  cookie就用cookie,session就用session
发表于 2011-10-28 14:05:29 | 显示全部楼层
不错!
发表于 2011-11-4 11:13:11 | 显示全部楼层
两个都行
发表于 2011-11-6 03:04:30 | 显示全部楼层
本帖最后由 五点晨曦 于 2011-11-6 04:47 编辑

用数据库保存session其实也不错啊,不一定非要全部写进客户端cookies

我发帖不看时间了……10年6月的时候是啥版本来着?现在2.0版改进很多了吧
发表于 2011-11-27 16:31:35 | 显示全部楼层
顶啊 支持

本版积分规则