微信支付curl出错及错误码解决方案

1.curl错误码6 出现场景 PHP Fatal error: 'curl_ssl请求失败,错误码:6,错误信息:Could not resolve host: api.mch.weixin.qq.com 原因分析 CURLE_COULDNT_RESOLVE_HOST(6) 无法解析主机。给定的远程主机没有得到解决。 解决方法 dns解析不了微信的域名,检查本地的dns服务器,或者在本地强制解析 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 2.curl错误码60 出现场景 如下是运行微信支付测试代码时出错代码: Fatal error: Uncaught exception ‘WxPayException‘ with message ‘curl出错,错误码:60‘ in 原因分析 证书校验失败 解决方法 第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);//严格校验 3.curl错误码58 出现场景 Fatal error: Uncaught exception 'WxPayException' with message 'curl出错,错误码:58' 证书路径正... 原因分析 证书路径错误 解决方法 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'); 4.curl错误码52 出现场景 略 原因分析 证书路径错误 解决方法 方法同错误码58 5.curl错误码77 出现场景 略 原因分析 证书路径错误 解决方法 方法同错误码58 6.curl错误码28 出现场景 支付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)
联系我们

邮箱 626512443@qq.com
电话 18611320371(微信)
QQ群 235681453

Copyright © 2015-2022

备案号:京ICP备15003423号-3