session是存储在服务器端的,那么区别每个用户的session就需要使用客户端的cookie,微信服务器是不发送cookie到开发者服务器,所以基于cookie的session无法使用。
但是只要为每个用户设置一个唯一的session_id,也可以达到同样的效果。
每个人微信号是唯一的,所以我们可以使用微信号作为用户的session_id,也可以将其md5加密后使用。
如下将ToUserName设置为session_id
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
if(!empty($postStr)){
$msg = (array)simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; if(!empty($postStr)){
$msg = (array)simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
//设置session_id
session_id($msg['ToUserName']);
session_start();
}