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