作者ca0409 (Alex)
看板PHP
標題[請益] session 跨檔案消失
時間Wed Sep 30 15:46:50 2020
各位前輩好
目前遇到 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://webptt.com/m.aspx?n=bbs/PHP/M.1601452012.A.79E.html
1F:推 HwangTW: 感覺你網頁沒寫乾淨 09/30 23:39
2F:推 HwangTW: 基本上要先做 session_start(); 這件事 09/30 23:43
3F:→ HwangTW: 再做 session_id(); 09/30 23:43
4F:推 HwangTW: 而且你沒用 $_session[] 去插你的東西 09/30 23:49
5F:→ HwangTW: $_session <- 這個是global的,沒使用他應該就是你跨網 09/30 23:49
6F:→ HwangTW: 頁無法存取變數的元兇 09/30 23:49
8F:→ typers: 如果沒特殊需求,應該是不需要呼叫session_id() 10/01 03:15
9F:→ MOONRAKER: session_id(SID): 把目前session ID強制設成SID 10/04 23:03
10F:→ MOONRAKER: 會成功: 可能剛好有設個常數叫SID 所以每次都用那個 10/04 23:04
11F:→ MOONRAKER: session ID 或者根本沒設過SID php只好發出個警告並且 10/04 23:04
12F:→ MOONRAKER: 把它當字串"SID"來用 這樣勉強也過了 10/04 23:04
13F:→ MOONRAKER: 但是你display errors沒開所以根本沒發現 10/04 23:05
14F:→ MOONRAKER: 不會成功: 正常應該是不會成功 上面那樣成功才是怪事 10/04 23:06
後來有找到原因了,是 server 上在寫入 session 的資料夾沒寫入權限
查看使用者是 apache 但是我是用 nginx 這邊不知道是不是安裝的時候沒設定好
權限開放後就可以了,謝謝各位。
※ 編輯: ca0409 (220.135.92.167 臺灣), 10/21/2020 10:06:23