PHP执行Curl超时

[版权声明] 本站内容采用 知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆 (CC BY-NC-SA 3.0 CN) 进行许可。
部分内容和资源来自网络,纯学习研究使用。如有侵犯您的权益,请及时联系我,我将尽快处理。
如转载请注明来自: Dreamlike博客,本文链接: PHP执行Curl超时

今天用PHP用CURL提交一个请求的时候,发现时快时慢,大部分情况下会超时。

刚开始我猜测是请求的对方网站响应太慢了,于是换成163,baidu等,发现请求的结果都是这样。

这种情况很可能就是服务器DNS出问题了,所以进终端检查了DNS配置和ping,curl了几个测试网站,结果发现速度很快,貌似都没有问题。

那么可能就是PHP出问题了,我通过curl_getinfo()获取到Curl的请求信息,如图

php-curl-dns-timeout总共请求时间25.25s,其中DNS解析就用了25.15s。看来是PHP进行域名解析的时候出问题了。网上找了下资料说,这种情况是PHP缓存了DNS的解析,如果重新更换了DNS地址,PHP并没有重新进行缓存,就产生了上述问题。

解决方法是重启PHP:

如果本文对您有所帮助,可以请作者喝杯咖啡,感谢支持^_^

支付宝支付
微信支付

发表评论

电子邮件地址不会被公开。 必填项已用*标注