解決$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配置文件。
   找到如下,如果沒開啓則開啓
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章