微信支付curl出錯及錯誤碼解決方案

2021-08-02 07:53:18 字數 3237 閱讀 9160

出現場景

php fatal error:  uncaught exception 'wxpayexception' with message 'curl出錯,錯誤碼:6' in wxpayapi_php_v3/lib/wxpay.api.php:565

stack trace:

#1 wxpayapi_php_v3/cyzjqpzf/jsapi.php(83): wxpayapi::unifiedorder(object(wxpayunifiedorder))

#2 thrown in wxpayapi_php_v3/lib/wxpay.api.php on line 565

[10-oct-2015 16:50:58 asia/shanghai] php fatal error:  uncaught exception 'wxpayexception' with message 'curl出錯,錯誤碼:6' in wxpayapi_php_v3/lib/wxpay.api.php:565

stack trace:

#1 wxpayapi_php_v3/cyzjqpzf/jsapi.php(83): wxpayapi::unifiedorder(object(wxpayunifiedorder))

#2 thrown in wxpayapi_php_v3/lib/wxpay.api.php on line 565

原因分析

curle_couldnt_resolve_host(6)

無法解析主機。給定的遠端主機沒有得到解決。

解決方法

vi  etc/hosts

新增下面內容

101.227.143.34 open.weixin.qq.com

101.226.90.149 api.mch.weixin.qq.com

101.226.90.58 api.weixin.qq.com

出現場景

fatal error: uncaught exception 『wxpayexception『 with message 『curl出錯,錯誤碼:60『 in c:\wwwroot\fangbei\lib\wxpay.api.php:564 stack trace: #

0 c:\wwwroot\fangbei\lib\wxpay.api.php(62):

api.mch...『, false, 6) #1 c:\wwwroot\fangbei\pay\jsapi.php(36):

wxpayapi::unifiedorder(object(wxpayunifiedorder)) #

2 thrown in c:\wwwroot\fangbei\lib\wxpay.api.php on line 564

原因分析

證書校驗失敗

解決方法

第538行

curl_setopt($ch,curlopt_ssl_verifypeer,true

);curl_setopt(

$ch,curlopt_ssl_verifyhost,2);//

嚴格校驗

修改為

curl_setopt($ch,curlopt_ssl_verifypeer,false

);curl_setopt(

$ch,curlopt_ssl_verifyhost,false);//

嚴格校驗

出現場景

fatal error: uncaught exception 'wxpayexception' with message 'curl出錯,錯誤碼:58' in c:\wamp\www\api\lib\wxpay.api.php on line 565 wxpayexception: curl出錯,錯誤碼:58 in c:\wamp\www\api\lib\wxpay.api.php on line 565 證書路徑正...
原因分析

證書路徑錯誤

解決方法

windows伺服器上證書路徑使用絕對路徑。

curl_setopt($ch, curlopt_sslcert, dirname(__file__).'cert'.directory_separator.'apiclient_cert.pem');

curl_setopt(

$ch, curlopt_sslkey, dirname(__file__).'cert'.directory_separator.'apiclient_key.pem');

curl_setopt(

$ch, curlopt_cainfo, dirname(__file__).'cert'.directory_separator.'rootca.pem');

linux上使用相對路徑

curl_setopt($ch, curlopt_sslcert, 'cert'.directory_separator.'apiclient_cert.pem');

curl_setopt(

$ch, curlopt_sslkey, 'cert'.directory_separator.'apiclient_key.pem');

curl_setopt(

$ch, curlopt_cainfo, 'cert'.directory_separator.'rootca.pem');

出現場景

原因分析

證書路徑錯誤

解決方法

方法同錯誤碼58

出現場景 略

原因分析

證書路徑錯誤

解決方法

方法同錯誤碼58

出現場景

支付curl出錯,錯誤碼:28

/wxpay_native/wxpay.api.php line: 563

/wxpay_native/wxpay.api.php(61):wxpayapi::postxmlcurl(' #1

原因分析

curle_operation_timedout(28)

操作超時。根據條件達到指定的超時期間。

解決方法

或者將超時時間設定長一些。比如將超時時間改為60

function postxmlcurl($xml, $url, $usecert = false, $second = 60)

微信支付curl出錯及錯誤碼解決方案

出現場景 php fatal error uncaught exception wxpayexception with message curl出錯,錯誤碼 6 in wxpayapi php v3 lib wxpay.api.php 565stack trace 1 wxpayapi php v3...

微信支付curl出錯及錯誤碼解決方案

出現場景 php fatal error uncaught exception wxpayexception with message curl出錯,錯誤碼 6 in wxpayapi php v3 lib wxpay.api.php 565 stack trace 1 wxpayapi php v...

微信支付curl出錯及錯誤碼解決方案

出現場景 php fatal error uncaught exception wxpayexception with message curl出錯,錯誤碼 6 in wxpayapi php v3 lib wxpay.api.php 565 stack trace 0 wxpayapi php v...