微信支付 app调用微信客户端支付 返回HTTP_RAW_POST_DATA空

公司APP项目采用php做接口,因更换服务器和域名,结果微信支付回调不成功了,APP端下单微信支付有成功但返回的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

最后原因是客户的新服务器没开启always_populate_raw_post_data导致程序无法收到HTTP_RAW_POST_DATA

posted @ 2016-11-04 15:45  _DongGe  阅读(723)  评论(0编辑  收藏  举报