[請益] 如何得知遠端主機是否還活著?

看板PHP作者時間16年前 (2009/04/15 16:20), 編輯推噓0(009)
留言9則, 3人參與, 最新討論串1/1
請問版上各位大大 我有個頁面會使用同樣的內建function大量呼叫遠端主機 (function是snmpget,使用不同的參數來得到不同的結果,如下 $fan=snmpget($eip,"public",".1.3.6.1.4.1.20175.1.1.2.1.0"); $dc1=snmpget($eip,"public",".1.3.6.1.4.1.20175.1.1.2.3.0");) 但是一超過timeout時間就會跟我說fatal error 然後之後的東西就不會執行 我想要知道該如何得知遠端主機是否存活 然後跳過呼叫遠端主機的那段 執行剩下的程式 那該如何寫 我在google搜尋了一下 try 跟 catch好像是用在自訂函式 我試不出來該如何套用在我的程式裡 是否有人能給我個範例 或者告訴我去哪裡看資料呢 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.251.69.35

04/15 17:25, , 1F
snmpget錯誤不是回傳FALSE嗎?
04/15 17:25, 1F

04/15 21:17, , 2F
同一個指令會下好幾十個,所以想要先作判斷
04/15 21:17, 2F

04/15 21:40, , 3F
用 fsockopen 可嗎?
04/15 21:40, 3F

04/16 10:16, , 4F
唔,用fsockopen如果timeout沒回應也是會出現warning
04/16 10:16, 4F

04/16 10:17, , 5F
然後超過excution time 30s就會變fatal error
04/16 10:17, 5F

04/16 10:17, , 6F
基本上這樣就沒有預先判斷的功能了
04/16 10:17, 6F

04/16 13:31, , 7F
http://tw.php.net/errorfunc 也許可以找一下
04/16 13:31, 7F

04/16 13:32, , 8F
set_error_handler裡面的comment好像有看到
04/16 13:32, 8F

04/16 13:32, , 9F
搜尋catch runtime errors
04/16 13:32, 9F
文章代碼(AID): #19vPYrSZ (PHP)
文章代碼(AID): #19vPYrSZ (PHP)