查找到发现,原因是服务器升级到php7版本后,比如微信支付回调中有这一段代码,其中 x m l = xml = xml=GLOBALS[‘HTTP_RAW_POST_DATA’];//在PHP7 中.这个写法已禁用.修改为file_get_contents(‘php://input’);即可
include_once("./log_.php");
include_once("../WxPayPubHelper/WxPayPubHelper.php");
//使用通用通知接口
$notify = new Notify_pub();
//存储微信的回调
$xml = file_get_contents('php://input'); //改为这个正常了
//$xml =$GLOBALS['HTTP_RAW_POST_DATA'];//在PHP7 中.这个写法已禁用
$notify->saveData($xml);
//验证签名,并回应微信。
//对后台通知交互时,如果微信收到商户的应答不是成功或超时,微信认为通知失败,
//微信会通过一定的策略(如30分钟共8次)定期重新发起通知,
//尽可能提高通知的成功率,但微信不保证通知最终能成功。
if($notify->checkSign() == FALSE){
$notify->setReturnParameter("return_code","FAIL");//返回状态码
$notify->setReturnParameter("return_msg","签名失败");//返回信息
}else{
$notify->setReturnParameter("return_code","SUCCESS");//设置返回码
$oid=$notify->data["out_trade_no"];
//这里写更新数据库订单状态的代码