看板 PHP 關於我們 聯絡資訊
各位前輩好 目前遇到 session 跨檔案 存取不到 在 local 時每個頁面上方都加上 session_id(SID); session_start(); 這樣跨檔案可以存取得到 可是上傳到 server 後,只要跨檔案 session 就被清空,印出來都是 [ ] 也改過 php.ini session.auto_start = on session.use_trans_sid = 1 刪掉每個頁面上方的 session 設定 session.use_only_cookies=0 cookies 也設定了 還是都不行 請問有什麼辦法可以解嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.92.167 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1601452012.A.79E.html
HwangTW: 感覺你網頁沒寫乾淨 09/30 23:39
HwangTW: 基本上要先做 session_start(); 這件事 09/30 23:43
HwangTW: 再做 session_id(); 09/30 23:43
HwangTW: 而且你沒用 $_session[] 去插你的東西 09/30 23:49
HwangTW: $_session <- 這個是global的,沒使用他應該就是你跨網 09/30 23:49
HwangTW: 頁無法存取變數的元兇 09/30 23:49
HwangTW: https://is.gd/Vhk0oL 這裡有關於session的說明 09/30 23:58
typers: 如果沒特殊需求,應該是不需要呼叫session_id() 10/01 03:15
MOONRAKER: session_id(SID): 把目前session ID強制設成SID 10/04 23:03
MOONRAKER: 會成功: 可能剛好有設個常數叫SID 所以每次都用那個 10/04 23:04
MOONRAKER: session ID 或者根本沒設過SID php只好發出個警告並且 10/04 23:04
MOONRAKER: 把它當字串"SID"來用 這樣勉強也過了 10/04 23:04
MOONRAKER: 但是你display errors沒開所以根本沒發現 10/04 23:05
MOONRAKER: 不會成功: 正常應該是不會成功 上面那樣成功才是怪事 10/04 23:06
後來有找到原因了,是 server 上在寫入 session 的資料夾沒寫入權限 查看使用者是 apache 但是我是用 nginx 這邊不知道是不是安裝的時候沒設定好 權限開放後就可以了,謝謝各位。 ※ 編輯: ca0409 (220.135.92.167 臺灣), 10/21/2020 10:06:23