我知道服务器中的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()。