php如何通过session_id恢复session内容

本文主要讲述的是通过session_id恢复session内容,具有一定的参考价值,感兴趣的朋友可以了解一下。

1、取得session_id

  1. // 开启session
  2. session_start();
  3. // 取得
  4. $_SESSION['test'] = '111222333';
  5. $session_id = session_id();
  6. echo $session_id;exit; // fu1dmdnrk0o2pi612b8jh9kts1

2、通过session_id取得session

  1. // 根据session_id查询session信息
  2. session_id('fu1dmdnrk0o2pi612b8jh9kts1');
  3. session_start();
  4. print_r($_SESSION);exit; // Array ( [test] => 111222333 )

这里需要注意的一个问题是:获取session_id时,需要先session_start();通过session_id获取session时,需要后session_start()。因为session_start()将检查当前是否存在一个活跃会话,如果没有,创建会话,并且通过$_SESSION数组访问。如果会话已经存在,session_start()函数将载入注册的会话变量,这样可以使用它们。