微信支付錯誤兩個問題的解決:curl出錯,錯誤碼:60

weixin_34279579發表於2016-11-30

如下是執行微信支付測試程式碼時出錯程式碼:

Warning: curl_setopt() expects parameter 2 to be long, string given in D:\wwwroot\weixinpaytest\pay\WxPay.JsApiPay.php on line 99

Fatalerror: Uncaught exception ‘WxPayException‘ with message ‘curl出錯,錯誤碼:60‘ in D:\wwwroot\weixinpaytest\lib\WxPay.Api.php:564 Stack trace: #0 D:\wwwroot\weixinpaytest\lib\WxPay.Api.php(62):

WxPayApi::postXmlCurl(‘

WxPayApi::unifiedOrder(Object(WxPayUnifiedOrder)) #2 {main} thrown in D:\wwwroot\weixinpaytest\lib\WxPay.Api.php on line 564

第一個問題,這個問題完全是微信團隊的問題,給出的example就是錯的:

Warning: curl_setopt() expects parameter 2 to be long, string given in D:\wwwroot\weixinpaytest\pay\WxPay.JsApiPay.php on line 99

找到WxPay.JsApiPay.php檔案的99行,curl_setopt($ch, CURLOP_TIMEOUT, 30);

微信團隊example程式碼裡少了一個“T”,正確程式碼應該是curl_setopt($ch, CURLOPT_TIMEOUT, 30);

這樣,這一個問題就解決了。

下面說第二個問題:

Fatalerror: Uncaught exception ‘WxPayException‘ with message ‘curl出錯,錯誤碼:60‘ in D:\wwwroot\weixinpaytest\lib\WxPay.Api.php:564 Stack trace: #0 D:\wwwroot\weixinpaytest\lib\WxPay.Api.php(62):

WxPayApi::postXmlCurl(‘

WxPayApi::unifiedOrder(Object(WxPayUnifiedOrder)) #2 {main} thrown in D:\wwwroot\weixinpaytest\lib\WxPay.Api.php on line 564

這個錯誤通過修改檔案WxPay.Api.php 解決,具體如下:

第537行

curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,TRUE);

curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);//嚴格校驗

to

curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);

curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);//嚴格校驗2

這樣,這兩個問題就解決了!祝你好運!

相關文章