[請益] session 跨檔案消失

看板PHP作者 (Alex)時間3年前 (2020/09/30 15:46), 3年前編輯推噓4(4010)
留言14則, 3人參與, 3年前最新討論串1/1
各位前輩好 目前遇到 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

09/30 23:39, 3年前 , 1F
感覺你網頁沒寫乾淨
09/30 23:39, 1F

09/30 23:43, 3年前 , 2F
基本上要先做 session_start(); 這件事
09/30 23:43, 2F

09/30 23:43, 3年前 , 3F
再做 session_id();
09/30 23:43, 3F

09/30 23:49, 3年前 , 4F
而且你沒用 $_session[] 去插你的東西
09/30 23:49, 4F

09/30 23:49, 3年前 , 5F
$_session <- 這個是global的,沒使用他應該就是你跨網
09/30 23:49, 5F

09/30 23:49, 3年前 , 6F
頁無法存取變數的元兇
09/30 23:49, 6F

09/30 23:58, 3年前 , 7F
https://is.gd/Vhk0oL 這裡有關於session的說明
09/30 23:58, 7F

10/01 03:15, 3年前 , 8F
如果沒特殊需求,應該是不需要呼叫session_id()
10/01 03:15, 8F

10/04 23:03, 3年前 , 9F
session_id(SID): 把目前session ID強制設成SID
10/04 23:03, 9F

10/04 23:04, 3年前 , 10F
會成功: 可能剛好有設個常數叫SID 所以每次都用那個
10/04 23:04, 10F

10/04 23:04, 3年前 , 11F
session ID 或者根本沒設過SID php只好發出個警告並且
10/04 23:04, 11F

10/04 23:04, 3年前 , 12F
把它當字串"SID"來用 這樣勉強也過了
10/04 23:04, 12F

10/04 23:05, 3年前 , 13F
但是你display errors沒開所以根本沒發現
10/04 23:05, 13F

10/04 23:06, 3年前 , 14F
不會成功: 正常應該是不會成功 上面那樣成功才是怪事
10/04 23:06, 14F
後來有找到原因了,是 server 上在寫入 session 的資料夾沒寫入權限 查看使用者是 apache 但是我是用 nginx 這邊不知道是不是安裝的時候沒設定好 權限開放後就可以了,謝謝各位。 ※ 編輯: ca0409 (220.135.92.167 臺灣), 10/21/2020 10:06:23
文章代碼(AID): #1VT3ViUU (PHP)
文章代碼(AID): #1VT3ViUU (PHP)