0
嗨我想在我的項目中加入一個函數,它將ping我的應用程序服務器並查看它們是否正在運行。問題是,每次我嘗試使用這個函數時,它總是返回它們還活着,即使我在我的本地環境中,並且這些IP地址上沒有服務器。發生什麼了?fsockopen()總是返回true
這裏是我的功能:
function ping($host, $port, $timeout) {
if($fp = fsockopen($host,$port,$errCode,$errStr,$timeout)){
return 'Alive';
} else {
return 'Not alive';
}
fclose($fp);
}
這裏是我正在調用該函數:
foreach ($appservers as $key => $value) {
echo ping($value['privateip'] , 80, 1).'<br/>';
}
這裏是我的服務器變量數組:
$appservers = array(
'app1' => array(
'publicdns' => 'app1.xxxx.com',
'privateip' => '1.1.1.101',
'alive' => NULL,
'active_users' => NULL
),
'app2' => array(
'publicdns' => 'app2.xxxx.com',
'privateip' => '1.1.1.102',
'alive' => NULL,
'active_users' => NULL
),
'app3' => array(
'publicdns' => 'app3.xxxx.com',
'privateip' => '1.1.1.103',
'alive' => NULL,
'active_users' => NULL
),
'app4' => array(
'publicdns' => 'app4.xxxx.com',
'privateip' => '1.1.1.104',
'alive' => NULL,
'active_users' => NULL
)
);
進行更新真棒感謝。想知道fsockopen之前的@符號嗎? – slick1537 2013-05-08 12:04:08
壞消息是,我只是想更新的代碼,它是返回ping時間....'0.010555028915405 0.010455846786499 0.010455846786499 0.0095298290252686' – slick1537 2013-05-08 12:08:46
@KevinMcKinney錯誤supression ....如果你可以給這個IP我想2〜測試我自己 – Baba 2013-05-08 12:11:02