相同的php代码会在每次重新加载Google Chrome时生成一个新的PHP会话ID,但在Internet Explorer和Edge上可以正常工作。
我有这个脚本:
p.php
<?php
session_name('CTO');
if ('' === session_id()) {
@session_start();
}
echo("<br>".session_id());
我有两个域:
www.mypage.com
(带https)
dev.mypage.com
(不带https)
如果我两次或更多次在任何浏览器上访问https://www.mypage.com/p.php
,则第一次php
创建一个新的sessionId
,但是下次浏览器会显示相同的sessionId
如果我在http://dev.mypage.com/p.php
上做同样的事情,那么我第一次有一个新的sessionId
,下一次也有同样的事情。
但是,有时,Chrome浏览器会发生某些情况,并且http://dev.mypage.com/p.php
每次加载都会显示一个新的sessionId
。但这在IExplorer或Edge上不会发生。我已经检查了浏览器的“响应和请求”,似乎总是获得带有新ID的新“设置Cookie”。
一旦Google停止正常工作,只有两种解决方案:更改Cookie的名称,或使用“设置”,“高级”,...删除两个域的Cookie,...删除“所有Cookie和网站数据” '。
为什么这有时会发生?并且仅使用Google Chrome?