PHP Net_DNS2超时

PHP Net_DNS2超时,php,dns,Php,Dns,我尝试使用netu DNS2将域解析为ip地址 public function updateStatus(){ try { //Works $resolver = new Net_DNS2_Resolver(array( 'nameservers' => array(37.235.1.177), 'use_tcp' => false, '

我尝试使用netu DNS2将域解析为ip地址

public function updateStatus(){

    try {

    //Works
        $resolver = new Net_DNS2_Resolver(array(
                'nameservers'   => array(37.235.1.177),
                'use_tcp'       => false,
                'timeout'    => 20
        ));

        $resp = $resolver->query("swisscom.ch", 'A');
        echo "swisscom.ch ip: " .$resp->answer[0]->address;


    //Triggers timout exception :(
        $resolver2 = new Net_DNS2_Resolver(array(
                'nameservers'   => array(195.186.4.162),
                'use_tcp'       => false,
                'timeout'    => 20
        ));

        $resp2 = $resolver2->query("swisscom.ch", 'A');
        echo "swisscom.ch ip: " .$resp2->answer[0]->address;


    } catch (Exception $e) {
        echo "<br />";
        print_r ($e);
        echo "<br />";
    }
我已经根据以下内容增加了时间限制: 但这没有帮助。有人知道出了什么问题吗

是的,两个DNS服务器都已启动并运行

//编辑:

echo "::query() failed: ", $e->getMessage(), "\n";
等于:

::query() failed: timeout on read select() 

几个小时后我自己就弄明白了

上面的代码没有问题。 事实上,ISP的一些DNS服务器拒绝来自非客户IP的查询请求。 这导致了超时

::query() failed: timeout on read select()