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

[版本 3.x] CI 3的session两个问题,非常困扰

[复制链接]
发表于 2015-5-29 23:40:17 | 显示全部楼层 |阅读模式
1、浏览器关闭后,CI 3的session始终保留,如何设定浏览器关闭后session自动销毁,这在2.0是没有这个困扰的
2、CI 3的支持原生php的session的,看到很多人说支持的,怎么看文档没有提到啊
还有感觉现在ci3速度很慢,尤其是读取MySQL
发表于 2015-5-30 11:54:03 | 显示全部楼层
haimi 发表于 2015-5-30 11:47
谢谢楼上
$config['sess_expiration'] 设置为0,我试过了没有用
2.0版本post基本只要200ms,3.0都在1s以上 ...

0 沒辦法啊?我看英文版有寫 :
Remove $config['sess_expire_on_close']

This option is still usable, but only for backwards compatibility purposes and it should be otherwise removed. The same effect is achieved by setting $config['sess_expiration'] to 0.

參閱 : CI 手冊 - Upgrading from 2.2.x to 3.0.0

 
发表于 2015-6-1 12:28:15 | 显示全部楼层
haimi 发表于 2015-5-30 12:05
多谢兄台,是设置成0就可以,是Firefox浏览器的问题,卸除换新的ok!
现在就剩下一个性能的问题,主要是每 ...

前端浏览器不能影响到服务器吧!!
而且设置成0 我只是发现帐号不点退出即使关闭浏览器也会一直保存的.{:soso_e115:}
发表于 2015-6-17 18:08:53 | 显示全部楼层
Closer 发表于 2015-6-3 14:59
每次读写都加了锁 ?
甚麼意思 ?

就是在操作同一个session的时候,为了防止session冲突,在操作的时候锁住这个session,其他的不允许写入,需要等待当前的写操作结束,其他的才能操作这个session
发表于 2015-5-30 10:39:19 | 显示全部楼层
本帖最后由 Closer 于 2015-5-30 10:41 编辑

1. 原本 2.0 有 $config['sess_expire_on_close'] 可以控制,
    3.0 拿掉了,因為 $config['sess_expiration'] 設置為 0 能達到相同效果
2. 請參閱英文版的 : CI 手冊 - Session
3. 沒有留意過...沒辦法幫你回答
 楼主| 发表于 2015-5-30 11:47:06 | 显示全部楼层
谢谢楼上
$config['sess_expiration'] 设置为0,我试过了没有用
2.0版本post基本只要200ms,3.0都在1s以上
 楼主| 发表于 2015-5-30 12:05:02 | 显示全部楼层
多谢兄台,是设置成0就可以,是Firefox浏览器的问题,卸除换新的ok!
现在就剩下一个性能的问题,主要是每次数据请求有一个延迟的问题,本地开发测试延迟一直都在1.5s以上,之前ci2只有0.2s的延迟
 楼主| 发表于 2015-6-1 20:03:22 | 显示全部楼层
v阿杰 发表于 2015-6-1 12:28
前端浏览器不能影响到服务器吧!!
而且设置成0 我只是发现帐号不点退出即使关闭浏览器也会一直保存的.{: ...

我觉得是浏览器的缓存问题,反正更换新版之后就正常了
发表于 2015-6-3 14:48:41 | 显示全部楼层
2.0的ci用的是cookie,没有锁
现在3.0用的session,每次读写都加了锁,你用完了session要打上session_write_close();
并且经过我的测试自动装载session也会影响速度,最好按需load
发表于 2015-6-3 14:59:27 | 显示全部楼层
alichino1 发表于 2015-6-3 14:48
2.0的ci用的是cookie,没有锁
现在3.0用的session,每次读写都加了锁,你用完了session要打上session_write ...

每次读写都加了锁 ?
甚麼意思 ?
发表于 2015-6-17 18:07:32 | 显示全部楼层
alichino1 发表于 2015-6-3 14:48
2.0的ci用的是cookie,没有锁
现在3.0用的session,每次读写都加了锁,你用完了session要打上session_write ...

执行的过程中直接叉掉了浏览器呢?加上这句也没用吧。。

本版积分规则