PHP中常见的session问题
PHP中常见的session问题
1,如何设置长生命期的session?
将session.cookie_lifetime,session.gc_maxlifetime的时间设置长一点。
2,为什么初始化session的时候报错?
a,检查session文件的存储路径,路径是否对,操作权限是否够
b,检查session初始化之前是否有html内容输出
3,客户端在禁止使用cookie的时候,session会有影响吗?
当客户端的cookie拒绝使用的情况下。将会带来很多的一些的不方便:
php会自动在页面的链接和表单等地方添加sessionId参数。以保证会话的
继续,但是这个时候,在一个浏览器上多次手工输入一样地址,session
会认作为多次会话而不是一次。
4,为什么我的session过几分钟就失效了?
1,检查浏览器的cookie是否启用,如果没有启用的话检查
系统是否允许使用url传递sessionID,最后检查url_rewriter.tags设置
2,检查session的垃圾标识时间,和回收概率
5,如何将我的session存储在数据库内?
利用session_set_save_handler("open","close","read","write","destroy","gc")
定制自己的处理方式。
6,如何利用session得到当前的用户数量和列表?
如果将session存储在数据库内,就会很容易实现,但是不管用什么
方式得到的数据不一定是精确数据。
7,为什么我填写的表单在后退之后内容就不见了?
检查脚本内有没有初始化session的动作,如果有的话,使用:
session_cache_limiter('private,must-revalidate');
6,如何利用session来控制网页的缓存?
调整session.cache_limiter,session.cache_expire
8,我用session管理会话,如果同一个帐户在两台机器上同时登陆会有影响吗?
不会有影响。因为这是两个sessionID.也就是说服务器上有两个session文件
来保证各自的会话。