关于session的垃圾回收机制问题! seession.gc_maxlifetime=1440;seesion.gc_probalility=1;session.gc_divisor=1000;上述我的理解是千分之1的用户才可能用到session;但是如果是千分之1的几率,那就不对了,session怎么进行啊??求一个满意的解释。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 引用的一段解释: PHP处理session的原理也不例外,但是在具体的实现方式上,却与众不同。这是因为,由于PHP的工作机制,它并没有一个后台线程,来定时地扫描session信息并判断其是否失效。它的解决之道是,当一个有效请求发生时,PHP会根据某个概率,来决定是否调用一个GC(Garbage Collector)。GC的工作,就是扫描所有的session信息,用当前时间减去session的最后修改时间(modified date),同配置参数(configuration option)session.gc_maxlifetime的值进行比较,如果生存时间已经超过gc_maxlifetime,就把该session删除。这是很容易理解的,因为如果每次请求都要调用GC代码,那么PHP的效率就会低得令人吃不消了。这个概率取决于配置参数 session.gc_probability/session.gc_divisor的值(可以通过php.ini或者ini_set()函数来修改)。默认情况下,session.gc_probability = 1,session.gc_divisor=100,也就是说有1%的可能性会启动GC。 这三个参数,session.gc_maxlifetime/session.gc_probability /session.gc_divisor都可以通过php.ini或者ini_set()函数来修改。但要记得,如果使用ini_set()函数的话,必须在每一个页面的开始处都调用ini_set()。 阅读全文:http://koda.iteye.com/blog/319605 php 关闭浏览器程序数据仍有增加 windowsXP + EasyPHP局域网内不能访问我的页面 数据用数组读出三个字段,如何 合并成一个字符串,菜鸟问题,大家帮忙!!!! 怎么将数据库里面的2011-05-01 00:00:00转化为2011年5月的问题!!! 【求教】我的注册新用户代码有些问题 这条SQL语句我这样写不行呀! 一个有关数组的问题(自我感觉有点难) Linux上面跑的PHP....一次只能设置一个Cookie,究竟如何解决 php和asp写读同一数据库的中文问题。 想用php和ajax刷新图片遇到麻烦,求高手帮助 [原创]生成缩略图教程 一本关于php基础详解的书。
PHP处理session的原理也不例外,但是在具体的实现方式上,却与众不同。这是因为,由于PHP的工作机制,它并没有一个后台线程,来定时地扫描session信息并判断其是否失效。它的解决之道是,当一个有效请求发生时,PHP会根据某个概率,来决定是否调用一个GC(Garbage Collector)。GC的工作,就是扫描所有的session信息,用当前时间减去session的最后修改时间(modified date),同配置参数(configuration option)session.gc_maxlifetime的值进行比较,如果生存时间已经超过gc_maxlifetime,就把该session删除。这是很容易理解的,因为如果每次请求都要调用GC代码,那么PHP的效率就会低得令人吃不消了。这个概率取决于配置参数 session.gc_probability/session.gc_divisor的值(可以通过php.ini或者ini_set()函数来修改)。默认情况下,session.gc_probability = 1,session.gc_divisor=100,也就是说有1%的可能性会启动GC。
这三个参数,session.gc_maxlifetime/session.gc_probability /session.gc_divisor都可以通过php.ini或者ini_set()函数来修改。但要记得,如果使用ini_set()函数的话,必须在每一个页面的开始处都调用ini_set()。 阅读全文:http://koda.iteye.com/blog/319605