我查询了一大堆地址,有些是在线的,有些则不是。我似乎无法解决这个错误,即使捕获异常也失败了:(
dns_get_record(): A temporary server error occurred.
try {
$result = dns_get_record('_minecraft._tcp.' . $addr, DNS_SRV);
}
catch (Exception $e) {
return [$addr,$port];
}
如果发生此错误,我想继续脚本,跳过记录,但目前脚本暂停。
任何帮助表示赞赏!!
答案 0 :(得分:5)
我也无法抓住这个例外。我如何理解它是一个PHP的错误: https://bugs.php.net/bug.php?id=73149
但我找到了另一种解决方案。调用此函数时,可以使用@
。当您调用此符号时,此符号会终止所有错误。它看起来像那样:
$dns = @dns_get_record($domain, DNS_A);
if(!$dns){
return false;
}
答案 1 :(得分:-2)
试试这个:
try {
$dns = dns_get_record($domain, DNS_A);
}
catch (Exception $e) {
if ($e->getMessage() !== 'dns_get_record(): A temporary server error occurred.') {
throw $e;
}
$dns = false;
}