首頁 >後端開發 >PHP7 >如何解決微信支付php7.0錯誤問題

如何解決微信支付php7.0錯誤問題

藏色散人
藏色散人原創
2022-01-24 09:17:242848瀏覽

微信支付php7.0錯誤的解決方法:1、查看微信API;2、使用「php://inpu」取代「$GLOBALS['HTTP_RAW_POST_DATA']」來取得資料即可。

如何解決微信支付php7.0錯誤問題

本文操作環境:Windows7系統、PHP7.0版、DELL G3電腦

如何解決微信支付php7 .0錯誤問題?

PHP7 微信支付回呼失敗解決:

升級完PHP7 發現微信支付回呼失敗。原來是 $GLOBALS['HTTP_RAW_POST_DATA'];沒有定義的問題。

php7 移除了這個全域變數。

問題代碼如下:

微信API :WxPay.Api.php

public static function notify($callback, &$msg)
    {
        //获取通知的数据
        $xml = $GLOBALS['HTTP_RAW_POST_DATA'];//这里在php7下不能获取数据,使用 php://input 代替
        if(!$xml){
            $xml = file_get_contents("php://input");
        }
        //如果返回成功则验证签名
        try {
            $result = WxPayResults::Init($xml);
        } catch (WxPayException $e){
            $msg = $e->errorMessage();
            return false;
        }
        
        return call_user_func($callback, $result);
    }

推薦學習:《PHP影片教學

以上是如何解決微信支付php7.0錯誤問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn