V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
toyuanx
V2EX  ›  问与答

[求助] PHP , curl 获取到的 http_code 为 0

  •  
  •   toyuanx · 2018-06-08 09:19:41 +08:00 via Android · 8122 次点击
    这是一个创建于 2366 天前的主题,其中的信息可能已经有所发展或是发生改变。

    调一个第三方的接口,开发环境跟测试环境测试时均没有遇到这个问题。 生产环境预发布时经常出现了,大概调四五次会出现一次,查了一下,很多方法说 httpcode 为 0 是没访问到服务,也跟第三方确认了他们确实没收到服务,然后就想是不是网络安全问题,请运维帮忙加了一下这个域名的域名和源码 IP,加了之后还是有这种现象。

    请问各位有没有出现过这种情况的?●^●怎么解决的,除了防火墙,还有其他原因会导致开发环境测试环境没问题,线上概率性访问不到接口吗? curl 的参数会不会有影响呢?

    第 1 条附言  ·  2018-06-08 12:23:21 +08:00
    上午老大坐我旁边(联合开发)已经找到疑似原因的原因了,可能 ca-certificates 的原因。下午继续解决,解决之后回复。

    另,奉劝跟我一样的萌新码,日志日志日志真的是非常非常重要!!!尤其是自己没事封装的通用类,日志一定都得准备好了。
    说一下我现在的日志打印情况:(我原先只记录了入参出参及抛出的异常)
    1、curl_init(),判断是否为 false,为 false 记录日志;
    2、记录 curl_exec();
    3、curl_getinfo();
    4、判断 curl_errorno(),记录 curl_error()及 curl_errno();划重点,curl_errorno(),我遇到的问题就是这个值返回 77,但是 curl_error()的返回为空。

    大佬们如果有什么跟日志相关的心得也不吝赐教,多多指点,万分感谢!
    9 条回复    2020-10-05 14:30:11 +08:00
    iamsee
        1
    iamsee  
       2018-06-08 09:22:48 +08:00
    dns 问题之前碰到过的。不知道你用的是域名还是 ip curl 的
    toyuanx
        2
    toyuanx  
    OP
       2018-06-08 09:23:43 +08:00 via Android
    老大昨天很晚跟今天大清早一直在说这个问题。。好在我们项目还是预发布,真的佩服那些随时随地能快准稳的解决线上 bug 的人。
    toyuanx
        3
    toyuanx  
    OP
       2018-06-08 09:24:28 +08:00 via Android
    @iamsee 域名
    iamsee
        4
    iamsee  
       2018-06-08 09:26:52 +08:00
    @toyuanx 应该就是 dns 解析域名的问题,你换 ip 试一下如果 ip 可以让运维依照这个解决一下
    iamsee
        5
    iamsee  
       2018-06-08 09:30:11 +08:00
    或者检查更换下 php 环境等测试下
    jasonhzy
        6
    jasonhzy  
       2018-06-08 09:41:50 +08:00
    curl_error($ch); 打印输出看看有什么内容
    toyuanx
        7
    toyuanx  
    OP
       2018-06-08 12:24:11 +08:00
    @jasonhzy 打印出来是空,得看 curl_errno
    shiny
        8
    shiny  
       2018-06-08 12:26:11 +08:00   ❤️ 1
    很多时候我们人肉测试只要跑通就好,但没有测试各种出错的情况。对基础库进行出错情况下的测试尤其重要。
    sqrtcat
        9
    sqrtcat  
       2020-10-05 14:30:11 +08:00
    如果请求的是 https 的话将 CURLOPT_SSL_VERIFYPEER 设为 false 即可
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6027 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 02:14 · PVG 10:14 · LAX 18:14 · JFK 21:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.