谷歌浏览器与php会话的奇怪行为

时间:2018-10-10 22:10:49

标签: php google-chrome session

相同的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?

0 个答案:

没有答案