Chinaunix首页 | 论坛 | 博客
  • 博客访问: 270683
  • 博文数量: 159
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1619
  • 用 户 组: 普通用户
  • 注册时间: 2016-01-10 19:58
文章分类

全部博文(159)

分类: Web开发

2016-11-21 18:59:31

偶然发现

最近在公司日志平台 总是可以看到很多关于php curl的错误信息

Operation timed out after 0 milliseconds with 0 out of 0 bytes received

Resolving timed out after 5514 milliseconds

非常奇怪,以前都是好的,使用wget获取也非常慢,从下面的结果可以看出来 dns解析比较慢

wget 
--2016-11-19 22:17:30--  http:///
Resolving ... # 此处停滞约 5 秒
xxx.xxx.xxx.xxx
Connecting to |xxx.xxx.xxx.xxx|:80... connected.
HTTP request sent, awaiting response... 200 OK

然后我就在本地环境 使用上面同样的命令 又非常快,这样就很郁闷了。然后就在一个群里询问,有人说 是IPV6导致的,我记得我们服务器没有开启IPV6的,然后就为了老大,没想到他开启了,然后就出错了

解决办法

对于 PHP curl 来讲,只需要加上下面一句即可解决延迟问题(指定使用IPV4):

curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );

原文地址:【ipv6惹的祸】curl 超时标签:curl                  

智能推荐

阅读(1536) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~