首页> 实战笔录 >在线支付 >微信开发 微信开发

完美解决微信支付$GLOBALS['HTTP_RAW_POST_DATA']回调获取不到xml数据

作者:小萝卜 2020-05-28 浏览 1102

简介之前开发的项目,最近换了个服务器。然后微信支付能支付,但是回调地址接收不到数据,测试回调地址能直接访问,也没报错。排查了半天发现原来是这个原因导致回调不到数据:

之前开发的项目,最近换了个服务器。然后微信支付能支付,但是回调地址接收不到数据,测试回调地址能直接访问,也没报错。排查了半天发现原来是这个原因导致回调不到数据:

官方文档给的参考是用$GLOBALS['HTTP_RAW_POST_DATA']获取回调的地址:

$xml = $GLOBALS['HTTP_RAW_POST_DATA'];

打印$xml出来,结果是null

使用的是php7,原因是php7已移除这个全局变量,改成

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

欧克,问题解除。

总结:

当php版本在7.0之前用$GLOBALS['HTTP_RAW_POST_DATA']去获取xml(需要php.ini开启always_populate_raw_post_data = On扩展)

当php版本在7.0之后就用$xml = file_get_contents("php://input")去获取xml。

 

很赞哦! (0)

文章评论

    高端网站建设