如何使用PHPSSID读取会话


How to read a session with a PHPSESSID

我知道服务器中的PHPSSID我如何读取设置为PHPSSID的会话变量(我不想使用$_session,因为我不想在该线程中启动会话)我只想使用PHPSSID读取会话数据??PHP:

<?php
namespace MyApp;
class readSession extends 'Thread {
    private $sess_id,$data_name;
    public function __construct($SESSID,$data_name){
        $this->sess_id = $SESSID;
        $this->data_name = $data_name;
    }
    public function run(){
        $data = $this->readSession($this->sess_id,$this->data_name);   
    }
    private function readSession($SESSID,$data_name){
        session_id($SESSID);
        session_start();
        $temp = $_SESSION[$data_name];
        var_dump($_SESSION);
        session_destroy();
        return $temp;
    }    
}

我写这段代码是为了读取用户会话的数据,但它删除了用户会话数据

首先,读取另一个用户的会话数据是一个可怕的想法。如果您需要共享访问这些数据,请不要将其存储在会话中。

其次,通过具有相同会话ID的session_start()读取另一个这样做是一个更糟糕的想法——这样你就可以有效地充当该用户。没有一种简单/可靠的方法可以在不拦截会话数据的情况下读取会话数据,但这不是偶然的,这正是因为你不应该这样做

也就是说,不要调用session_destroy(),用户的数据不会被删除。。。毁灭意味着毁灭。如果您正在寻找一种只关闭会话的方法,那就是session_write_close()。