微信支付提示PHP Notice: Undefined index: HTTP_RAW_POST_DATA错误的解决办法

admin 阅读:87 2024-03-04

微信支付提示 PHP Notice: Undefined index: HTTP_RAW_POST_DATA 错误,是因为微信支付SDK(PHP版)中使用 $GLOBALS[‘HTTP_RAW_POST_DATA’] 获取 POST 请求的数据,但是在高版本 PHP 中 HTTP_RAW_POST_DATA 已经被废除了。

解决微信支付报错 HTTP_RAW_POST_DATA 的方法就是将 HTTP_RAW_POST_DATA 替换为 file_get_contents 。

在WxPay.Api.php中搜索以下代码:

$xml = $GLOBALS['HTTP_RAW_POST_DATA'];

替换为:

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

如果要兼容低版本的话,替换为:

$xml = isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] : file_get_contents("php://input")
声明

1、部分文章来源于网络,仅作为参考。
2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!