我有一個Windows服務器間歇性地失去了查找DNS信息的能力。我試圖找出問題的根本原因,但同時我希望能夠監視服務器是否可以執行查找。在PHP中的DNS查詢
基本上,如果查找成功,它應該嘗試查找一些常見主機名和顯示'成功'。
該網站運行PHP,所以我寧願顯示器腳本是在PHP中,但如果有人知道如何在ASP/.Net中做到這一點,將工作以及。
我有一個Windows服務器間歇性地失去了查找DNS信息的能力。我試圖找出問題的根本原因,但同時我希望能夠監視服務器是否可以執行查找。在PHP中的DNS查詢
基本上,如果查找成功,它應該嘗試查找一些常見主機名和顯示'成功'。
該網站運行PHP,所以我寧願顯示器腳本是在PHP中,但如果有人知道如何在ASP/.Net中做到這一點,將工作以及。
http://www.php.net/manual/en/function.dns-get-record.php是php中的函數,它聽起來像你以後。
但該功能有一點侷限性是 更改日誌:v。PHP 5.3.0 - 此功能現在可在Windows平臺上使用。
如果你不想在IIS上更新php。 還有另外一種可以對windows二進制文件執行dig操作的方法。 這裏是dig for windows。 你可能也需要這個爲你自己而不是任何程序。 它超出了舊的不夠nslookup命令。
在我的情況下,這是可行的,因爲服務器運行5.3,但我原來是問這個問題,因爲我相信該功能在Windows上不可用。 – 2009-07-11 13:11:41
在windows上PHP的PHP函數在PHP 5.3之前本地不可用。你需要Pear Net_DNS Class。 http://pear.php.net/package/Net_DNS
實例:
require_once 'Net/DNS.php';
$resolver = new Net_DNS_Resolver();
$resolver->debug = $this->debug;
// nameservers to query
$resolver->nameservers = array('192.168.0.1');
$resp = $resolver->query($domain, 'A');
「平」 始終執行所討論查驗主機名之前DNS查詢(正向和反向)。編寫一個shell腳本來使用ping(或挖掘)來查看ping是不是行爲不端,這是讀者的一個練習。
另一種選擇是在本地機器上使用緩存DNS服務器,緩存來自上游DNS服務器的回覆,並在上游停止時從緩存發送數據。我自己的死木是一個小小的32k Windows或UNIX二進制文件,可以做到這一點(64k,如果你想完整的DNS遞歸)
謝謝。這個函數在我上次嘗試這個時在Windows中不可用,但它在PHP 5.3+中可用。我應該先檢查一遍。 – 2009-07-11 13:05:58