繁体   English   中英

将超时设置为PHP函数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM