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

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

解決$GLOBALS[“HTTP_RAW_POST_DATA”]獲取不到數據的問題

2018-09-07 12:35:18 15860

解決$GLOBALS[“HTTP_RAW_POST_DATA”]獲取不到數據的問題

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


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

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

always_populate_raw_post_data = On

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


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

$xml = $GLOBALS['HTTP_RAW_POST_DATA'];

打印$xml出來,結果是null


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

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

即可


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

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

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

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