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

微信支付提示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")

 

未经允许不得转载:吾爱主机之家 » 微信支付提示PHP Notice: Undefined index: HTTP_RAW_POST_DATA错误的解决办法