PHP5: dns_get_record () sadece alt etki alanları için A kayıtlarını dönen

1 Cevap php

Linux üzerinde PHP 5.2 Koşu, ben dns_get_record() ile sorguları bir dizi çalıştırıyorum. Bu fonksiyon çoğaltır dig ama tutarsızlıklar görüyorum ki belgelere görünür. Amacım her hostname ait alanlar için yetkili olan birincil ve ikincil nameserver elde etmektir.

dns_get_record('example.com', DNS_NS); returns good results. dns_get_record('www.example.com', DNS_NS); returns nothing. dns_get_record('www.example.com', DNS_ANY); returns only an A-record. dns_get_record('www.example.com', DNS_SOA); returns nothing.

Ancak, kazı kullanarak komut satırından, her zaman en azından SOA alabilirsiniz:

dig www.example.com NS or dig www.example.com SOA

nameserver içeren (SOA IN) geçerli YETKİ BÖLÜM dönmek.

Nasıl bu PHP çoğaltabilirsiniz? I dns_get_record() gibi PEAR Net_DNS modülünü ve görülen benzer maskaralık denedim.

1 Cevap

Eğer dig komut satırından çok daha doğrudan olduğunuzda (nispeten) DNS bağlanıyor. Çıkışı da bu senaryo için biçimlendirilir. Php işlevini yürütürken, kendi yazarları istediğini düşündüm değerleri döndürür. Mutlaka doğrudan dig karşılık vermez.

Bir dig sonuç almak istiyorsanız o zaman exec('dig www.example.com ns'); kullanabilir ve istediğiniz gibi bu dönüş çıkışını ayrıştırmak.

Ayrıca, bir alt, yani www için DNS sorgulama eğer. yerine tld (example.com), o zaman onunla ilişkili diğer kayıtları almak için gitmiyoruz - SADECE sizin durumda olduğunu alt etki alanı ile ilişkili sonuç almak için gidiyoruz sadece bir A kaydı.