關於 PHP Session ID 改變的問題解決

Mira_2019發表於2024-10-04

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

相關文章