我有一个奇怪的问题,让我发疯... 我正在编写自己的MVC框架,我正在使用mysql的会话管理,当我发现session_regenerate_id函数有时从无处生成新的会话... 后几个小时试图猜测到底是什么可能是错误的,我结束了绕过我的所有代码,并与这个简单的PHP脚本运行一个白色的页面:session_regenerate_id正在执行... double?
<?php
if(!isset($_SESSION)){
session_start();
$_SESSION['user']='kikko68';
$_SESSION['name']='cristian';
$_SESSION['mail']='[email protected]';
}
$old=session_id();
session_regenerate_id(true);
$new=session_id();
echo"OLD = ".$old."<br>NEW = ".$new;
?>
我一个网络上测试该脚本服务器,这是结果:
---------------load page---------------------
OLD = ffa4e90763d61a2f733364fddb86bbf4
NEW = 7293a7268c77406075c78a38bc148c34
---------------refresh-----------------------
OLD = 7293a7268c77406075c78a38bc148c34
NEW = d21e6da87635fb2934b286679850c830
---------------refresh-----------------------
OLD = d21e6da87635fb2934b286679850c830
NEW = 9686e91f66565358bceaa4bac8d8a563
正如您在每次刷新时所看到的那样,NEW ID变成了旧的一个。
在我本地安装而不是(XAMPP),事情似乎有什么意义......
---------------load page---------------------
OLD = c1vgleb55j0tpeu21mr3l1rip5
NEW = dn2hfst79nuqtcegi91qikrv34
---------------refresh-----------------------
OLD = th1tk5dmaovdlrdka4frf07is0
NEW = s7a990magimfccc0qtnl66rfp0
---------------refresh-----------------------
OLD = hkpadq4pjtbtcmap3m3322al21
NEW = q17lh3asev8rkv3ld1f4mu2tk0
有人能解释我为什么发生这种情况的原因吗? 谢谢。