PHP Net_DNS2超时
我尝试使用netu DNS2将域解析为ip地址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, '
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()