首页>
php微信支付--完美解决微信支付$GLOBALS['HTTP_RAW_POST_DATA']回调获取不到xml数据
作者:小萝卜 2020-05-28 【 PHP 微信 支付 】 浏览 1744
简介之前开发的项目,最近换了个服务器。然后微信支付能支付,但是回调地址接收不到数据,测试回调地址能直接访问,也没报错。排查了半天发现原来是这个原因导致回调不到数据:
之前开发的项目,最近换了个服务器。然后微信支付能支付,但是回调地址接收不到数据,测试回调地址能直接访问,也没报错。排查了半天发现原来是这个原因导致回调不到数据:
官方文档给的参考是用$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)