手机看片精品高清国产日韩,色先锋资源综合网,国产哺乳奶水91在线播放,乱伦小说亚洲色图欧洲电影

幫助中心 >  技術(shù)知識(shí)庫 >  虛擬主機(jī) >  虛擬主機(jī)常見問題及技術(shù)支持 >  解決$GLOBALS[“HTTP_RAW_POST_DATA”]獲取不到數(shù)據(jù)的問題

解決$GLOBALS[“HTTP_RAW_POST_DATA”]獲取不到數(shù)據(jù)的問題

2018-09-07 12:35:18 15857

解決$GLOBALS[“HTTP_RAW_POST_DATA”]獲取不到數(shù)據(jù)的問題

昨天在微信中公眾號(hào)開發(fā)中使用$GLOBALS["HTTP_RAW_POST_DATA"]來獲取微信公眾平臺(tái)推送過來的post數(shù)據(jù),結(jié)果驚奇的發(fā)現(xiàn)微信號(hào)總是提示“該微信公眾號(hào)暫時(shí)無法提供服務(wù)”,仔細(xì)去檢查代碼,也沒錯(cuò),可就是無法提供服務(wù)。今天又檢查了一把,還是沒有語法錯(cuò)誤,于是乎,我將中間的所有數(shù)據(jù)全部寫到的記事本里去,通過及時(shí)本發(fā)現(xiàn)$GLOBALS["HTTP_RAW_POST_DATA"]獲取的數(shù)據(jù)是空的。經(jīng)過資料查找,終于發(fā)現(xiàn)了解決的套路:


  $GLOBALS ["HTTP_RAW_POST_DATA"]跟$_POST,file_get_contents('php://input')  差不多,用$GLOBALS ["HTTP_RAW_POST_DATA"]或file_get_contents('php://input')的情況大多是為了獲取$_POST無法接收的數(shù)據(jù)類型(如XML數(shù)據(jù))

  在$GLOBALS ["HTTP_RAW_POST_DATA"]取不到值的情況下可以按以下方式排查:
     1.用file_get_contents('php://input')獲取數(shù)據(jù)。如果獲取不到,則可能是數(shù)據(jù)傳輸錯(cuò)誤,對(duì)請求進(jìn)行捉包,分析數(shù)據(jù)。
     2.如果file_get_contents('php://input')有數(shù)據(jù)。則查看php.ini配置文件。
  找到如下,如果沒開啟則開啟

always_populate_raw_post_data = On

注意:這種處理方式是在php版本較低的時(shí)候,在php-ini中才有的配置,當(dāng)版本升級(jí)到7,或者更高的時(shí)候該機(jī)制就被廢棄掉了。


微信接口$GLOBALS['HTTP_RAW_POST_DATA']接收不到值

$xml = $GLOBALS['HTTP_RAW_POST_DATA'];

打印$xml出來,結(jié)果是null


使用的是php7,原因是php7已移除這個(gè)全局變量,改成

$xml = file_get_contents("php://input");

即可


提交成功!非常感謝您的反饋,我們會(huì)繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問題: