微信小程序開發,請求服務器API的方法使用的是微信官方提供的wx.request()方法。在開發中發現,每個請求都會生成一個獨立的PHPSESSID,以下圖示:小程序
搜索後得知,這是因爲wx.request()形成的。若是直接使用瀏覽器請求並不會出現這種狀況。微信小程序
解決方式以下:瀏覽器
經過登陸接口獲取到用戶的session_key 和 open_id,設置session信息以下:服務器
$3rd_session = md5(session_key . $open_id) $_SESSION[$3rd_session ] = session_key . '|' . $open_id;
服務器生成此用戶的session_id,接口返回 3rd_session 和 session_id。微信
在其餘接口請求中,在header中設置cookie的值:session_id:cookie
header = header || { 'content-type': 'application/x-www-form-urlencoded;', 'Cookie': 'PHPSESSID=session_id值' }
並在接口中帶上參數session=3rd_session,此時服務端獲取到的就是同一個session_id,根據3rd_session從$_SESSION獲得用戶的openidsession