* Author:RDP
* My mail:abel1314520@gmail.com
* My blog: http://blog.teamhaka.com
*/
/**
*写在前面,但却是总结:含有session_start();的页面被访问时,都会生成session文件或者使已有的session文件的存活时间得到更新!虽然页面中可能只有session_start();语句而无session值的任何保存操作。
*/
session的存活时间默认是24分钟(这里不考虑GC启动概率问题),而每次访问开启了session的页面时都会更新session的存活时间,使当前用户的相关session文件的存活时间从访问当时的时间开始再加上24分钟。
这里需要注意的是:
1 只有在访问开启session的页面时,上述的存活时间的更新才会进行。
2 被访问的页面只需开启session即可更新此客户端所用的所有session文件存活时间,页面自身程序并不需要对session中保存的值做任何动作。
例:
有a.php和b.php两个页面
a.php:
session_start();
$_SESSION['a'] = 1;
b.php:
session_start();
先访问a页面,会在服务器端生成session文件。接着不断的访问b页面的时候,之前由a页面生成的session文件的修改时间就会不断被更新(更新为访问b页面的当时时间)。虽然b页面什么都没干只是开启session而已,但的确会让当前session的存活时间被更新(修改时间+24分钟)。
而如果在b.php中不开启session、删去session_start()这句,那么不断的访问b页面则不会使当前客户端的session文件得到更新。