关于 PHP Session ID 改变的问题解决

10月4日 凌晨

一个小小的技术问题。

如何想到 session_id 这个问题的?

同一个 DOMAIN,跨页面而显示不出来。为什么之前没想到 session_id —— 不知道。

第一,session_id 是 JS 当时解决的问题。

第二,明明两张页面在同一个域。

然后继续寻找网络上更多的资料,有些人说是cookie问题,因为session_id也是通过cookie去承载的,我尝试使用命令打印出cookie里面的值var_dump($_COOKIE),发现返回的值是array(0){} 没有任何东西,那就证明了是cookie出现了问题。


解决方法:

顺着整个思路去查找,最终发现是之前搞session跨域的时候更改了php.ini里面的session.cookie_domain 设置 ,如下

session.cookie_domain = ".zssd.mobi"

这里是设置了cookie只能在顶级域名zssd.mobi下生效,目的是为了解决跨域的问题,但其它域名却出现了问题(关于多个域名要实现session跨域可能需要用到其它方法解决了),只要把session.cookie_domain 设置为空就能正常使用sesssion_id了,具体修改如下

session.cookie_domain =


然后重启apache,问题解决。


关于部署子域名:https://www.cnblogs.com/shoelesscai/p/18288535

参考:https://www.php.cn/faq/232961.html

posted on 2024-10-04 02:10  Mira_2019  阅读(26)  评论(0编辑  收藏  举报