作者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/cn.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