PHP前端开发

PHP 类中无法获取 $_SESSION 变量:为什么 cURL 请求无法获取会话变量?

百变鹏仔 1个月前 (12-15) #PHP
文章标签 变量

php 类中无法获取 $_session 变量

在编写 php 类时,遇到这样的问题:

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 的 $_session['rrr']。

解决方案:

立即学习“PHP免费学习笔记(深入)”;

当使用 curl 等工具进行测试时,会出现上述问题,因为 curl 不会自动处理会话 cookie。

解决方法是手动抓取会话 cookie 并将其添加到后续请求中。可以通过以下步骤实现:

  1. 执行方法 abc(),获取会话 cookie。
  2. 在执行方法 aaa() 之前,将会话 cookie 添加到请求中。