在Linux上運行PHP 5.2,我正在運行一系列查詢dns_get_record()
。從文檔中可以看出,該功能複製,但我看到了不一致。我的目標是獲得對每個主機名所屬的域具有權威性的主名稱服務器和輔助名稱服務器。PHP5:dns_get_record()只返回子域記錄A
dns_get_record('example.com', DNS_NS);
返回良好結果。 dns_get_record('www.example.com', DNS_NS);
什麼都不返回。 dns_get_record('www.example.com', DNS_ANY);
僅返回A記錄。 dns_get_record('www.example.com', DNS_SOA);
什麼也沒有返回。
然而,使用挖一個命令行,我總是可以得到至少SOA:
dig www.example.com NS
或 dig www.example.com SOA
返回一個有效的權威部份(IN SOA)包含的域名服務器。
我該如何在PHP中複製它?我嘗試了PEAR Net_DNS模塊,並看到與dns_get_record()
類似的惡作劇。
您如何知道在執行NS或SOA查詢之前'dig'不僅僅是剝離'www.''? – 2009-08-18 16:31:50
我想我不知道它不是。 – brianjcohen 2009-08-19 15:52:50
肖恩·布萊德(幾乎)是正確的。使用「+ trace」選項進行挖掘,看看究竟發生了什麼: Dig將從頂級層次結構中走下來(而不是相反) - 通常,您不會在子域下設置SOA「萬維網」。 PHP的dns_get_record是_not_挖,它只會做你告訴他做的事情。 – lifeofguenter 2014-06-25 11:57:55