美文网首页
PHP curl Could not resolve host错

PHP curl Could not resolve host错

作者: 阳光下丶憧憬 | 来源:发表于2020-07-16 11:36 被阅读0次

    今天修改公司的祖传代码的时候,发现发送短信接口突然不好使了,经过排查问题,终于解决问题,下面是排查过程:

    1.首先查看接口地址,发现短信平台的域名发生了更换,心里大喜,emmm,更换后,发现还是不好使,然后就出现了上面的报错
    2.网上有很多解决办法,说本机IPV6 和DNS的问题,那么,首先,我们要确定是否是这个问题。首先排查DNS解析的问题:假设接口地址是baidu.com
    依次在服务端执行以下几条命令:
    注意:NDS 配置最好是 114.114.114.114 8.8.8.8

    curl baidu.com
    dig baidu.com
    ping baidu.com
    nslookup baidu.com
    

    都没有问题,那么就直接排除是DNS的问题,IPV6的解决方法如下:

    curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, false ); #使用DNS缓存
    curl_setopt($ch, CURLOPT_DNS_CACHE_TIMEOUT, 2 );
    curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );#禁用IPV6
    

    发现还是报同样的问题,那么IPV6的问题可以基本排除了,那么就从php-fpm 入手
    3.重启php-fpm后,重新请求,发现问题已经解决了,下面附php-fpm的重启方法:

    systemctl restart php-fpm #contos7
    
    service php-fpm restart #centos6
    
    #如果以上两个命令都无法重启,那么就是你PHP编译的问题了,可以重新安装,或者用下面的方法
    
    find / -name php-fpm.pid #先找到我们的php-fpm 进程id的路径,然后重启
    
    kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid` #问题解决
    

    相关文章

      网友评论

          本文标题:PHP curl Could not resolve host错

          本文链接:https://www.haomeiwen.com/subject/bocphktx.html