[英]Set timeout to a PHP function
我有这个剧本
<?php
function get_reverse_dns($Ip)
{
$result = exec("nslookup -n ".escapeshellarg($Ip)." | grep 'name = '");
if(strpos($result,"name =") === false)
{
return "NO REVERSE";
}
else
{
$result = trim($result);
$ExplodedResult = explode("name =",$result);
$ExplodedResult[1] = trim($ExplodedResult[1]);
$ReverseDns = trim($ExplodedResult[1],".");
return $ReverseDns;
}
}
?>
这给了我反向DNS,现在的问题是,有时IP可能会有很长的延迟,我希望此脚本可以对其进行检查,以便“查找”该IP,如果5秒钟过去了,这不是发生,然后return false
我该怎么做?
我已经在Linux中尝试过
nslookup --timeout 5 1.1.1.1 | grep 'name = '
timeout 5 nslookup 1.1.1.1 | grep 'name = '
谢谢。
您想检查man nslookup
,该命令将给您以下命令:
nslookup -timeout 5 1.1.1.1 | grep 'name = '
你有太多-
我会使用dig:dig -x $ {ip} + time = 5 + tries = 1 + retry = 0 + short
此命令将仅返回IP地址,因此将简化您的解析位。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.