php class 在 function 中使用 $_SESSION ?

火爆浪子
  • 2.8k

我遇到了个问题

class CCC {
  public function aaa() {
      return $_SESSION['rrr']; // 拿不到任何東西
  }

  public function abc() {
      $_SESSION['rrr'] = 123;
      return $_SESSION['rrr']; // 123
  }
}

假设执行了方法 abc 且指定了 $_SESSION['rrr'] 为 123
然后事后在执行 aaa
发现 aaa 没办法取得 123
请求解释及解决方式!

回复
阅读 1.2k
1 个回答
ssseerr999
  • 1.2k
✓ 已被采纳

如果用浏览器测试的话,浏览器会帮你处理session,在浏览器里访问应该是正常的。

如果用curl这样的工具测试,应该是不行的。第二次请求的时候curl是不会带上上一次请求返回的cookie的。

你可以抓包两个请求,对比一下,应该就能看到区别。

宣传栏