微信支付v3 报curl 超时错误

[error] [exception.WxPayException] exception 'WxPayException' with message 'curl出错,错误码:6'

最后定位到接口 https://api.mch.weixin.qq.com/pay/orderquery,curl post参数过去无响应,是微信支付服务器出问题吗?这问题太蛋疼了,导致用户支付了,支付回写验证失败

2015/07/11 20:47:53 [error] [exception.WxPayException] exception 'WxPayException' with message 'curl出错,错误码:6' in protected/vendors/WxpayAPI_php_v3/lib/WxPay.Api.php:548
Stack trace:
#0 protected/vendors/WxpayAPI_php_v3/lib/WxPay.Api.php(55): WxPayApi::postXmlCurl('<xml><appid><![...', 'https://api.mch...', false, 10)
#1 protected/service/Test.php(151): WxPayApi::unifiedOrder(Object(WxPayUnifiedOrder))
#2 protected/modules/pay/controllers/OrderController.php(51): Test::weixinRequestV3(7800, '143661853975030...', '1J2tmoWHryHzY8D...')
#3 /web/actions/CInlineAction.php(49): OrderController->actionOrder()
#4 /web/CController.php(308): CInlineAction->runWithParams(Array)
#5 /web/CController.php(286): CController->runAction(Object(CInlineAction))
#6 /web/CController.php(265): CController->runActionWithFilters(Object(CInlineAction), Array)
#7 /web/CWebApplication.php(282): CController->run('order')
#8 /web/CWebApplication.php(141): CWebApplication->runController('order')
#9 /base/CApplication.php(180): CWebApplication->processRequest()
#10 index.php(33): CApplication->run()

阅读 7.9k
4 个回答

一般超时错误,要么是URL弄错了,要么是网络不好,微信那边服务down掉可能性不是没有,但是很小吧。单纯是参数用错了,应该不会导致超时的。

新手上路,请多包涵

蛋疼的微信,垃圾团队,发个SDK还是错的,真不知道你们是干什么的

这类接口超时,我的解决方法是,手动设置/etc/hosts指向。

不清楚原理,只要PHP用到curl超时,这个就能解决。楼下有知道原因的么?

@54chen 感谢他找出了原因

http://2014.54chen.com/blog/2...

简单来说,就是微信那边设置了一个 IPV6 解析,导致 Curl 超时,无法找到正确的 IP 地址

解决方案就是,在使用 Curl 的时候,指定使用 IPV4 地址

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题