对接使用了官方提供的sdk:php_sdk_v3.0.9
云服务部署的PHP版本是7.2.11,故事,不对事故就是因为PHP版本问题引起的
简而言之就是PHP7.0.0版本移除了HTTP_RAW_POST_DATA
改进方案:
使用file_get_contents('php://input');替代$GLOBALS['HTTP_RAW_POST_DATA']
具体请修改文件:WxPay.Api.php
修改后的代码
public static function notify($config, $callback, &$msg)
{
//如果返回成功则验证签名
try {
//获取通知的数据
$xml = file_get_contents('php://input');
$result = WxPayNotifyResults::Init($config, $xml);
} catch (WxPayException $e){
$msg = $e->errorMessage();
return false;
}
return call_user_func($callback, $result);
}