问个问题。session_id每关闭一次浏览器,再重新访问的时候,echo session_id()出来,会发现每次的id都不一样。查了些资料,说跟session.cookie_lifetime = 0有关系,值为0的时候,浏览器关闭则保存于客户端的cookie会被删除掉,于是执行session_start()又要重新去生成一个id。那我session.cookie_lifetime =9999将其值设为9999,不希望它关闭浏览器就过期,为什么重新打开浏览器仍然生成的session_id是不一样呢?
如何做
ie中:
有效的窗品包括
1.session对象只在建立session对象的窗口中有效。
2.在建立session对象的窗口中新开链接的窗口 无效的窗口包括
1.直接启动ie浏览器的窗口
2.不是在建立session对象的窗口中新开链接的窗口 netscape中:
只要一个窗口有了某个session对象,则全部窗口对此session都有效
ini_set("session.cookie_lifetime", 9999);
echo ini_get("session.cookie_lifetime");
session_start();
echo '<br/>';
echo session_id();
file_put_contents(__FILE__, session_id() . PHP_EOL, FILE_APPEND);
?>
<xmp>
Apache修改后,没有重启。
重启后,session_id的值就再没变化过。。