मैं थोड़ी देर के लिए एक ही समस्या के साथ संघर्ष कर रहा हूं। तथ्य यह है कि ssh2 के साथ "मृत" या उत्तरदायी सर्वर से कनेक्ट करने का प्रयास आपके सर्वर को तब तक रोक देगा जब तक कि लक्ष्य सर्वर की अधिकतम कनेक्शन समय सीमा न हो।
पहले से पता लगाने के लिए अगर आपके उदाहरण आप मुसीबत जब श्श्श-इंग में यह पिंग करने (देखें अगर यह उत्तरदायी है) है पैदा करने के लिए जा रहा है आसान तरीका है।
function getPing($addr)
{
//First try a direct ping
$exec = exec("ping -c 3 -s 64 -t 64 ".$addr);
$array = explode("/", end(explode("=", $exec)));
if(isset($pingVal[1]))
{
//There was a succesful ping response.
$pingVal = ceil($array[1]);
}
else
{
//A ping could not be sent, maybe the server is blocking them, we'll try a generic request.
$pingVal = callTarget($addr);
}
echo intval($pingVal)."ms";
if($pingVal > ["threshold"])
{
return false;
}
return true;
}
function callTarget($target)
{
$before = microtime();
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $target);
curl_setopt($ch, CURLOPT_NOBODY, true);
if (curl_exec($ch))
{
curl_close($ch);
return (microtime()-$before)*1000;
}
else
{
curl_close($ch);
return 9999;
}
}
इस विधि अगर आपको अपने सर्वर की स्थिति पर एक तेजी से प्रतिक्रिया प्राप्त करने के लिए तो तुम्हें पता है, तो आप के बारे में अपने समय में ssh-इंग बर्बाद करने के लिए कर रहे हैं अनुमति देता है।
स्रोत
2012-09-20 21:49:34
क्या आपने कभी यह पता लगाया है कि यह कैसे करें? – solefald