Intereting Posts

Получить записи Cname с помощью NetDNS или get_dns_record

Я пытаюсь получить список записей CNAME с помощью PHP.

Этот метод работал, когда я принимал код на своей старой машине с Windows 7, но я перевел его на машину Ubuntu (аналогичная установка стека AMP), и он больше не возвращал записи CNAME для $url . Я загрузил код на сервер Windows и все еще не записал CNAME.

 $records['cname'] = dns_get_record($url, DNS_CNAME); 

Не то, чтобы я утверждаю, что ОС имеет много общего с чем-либо, возможно, у меня было что-то определенное на моей старой машине, которая позволила этому работать. В настоящее время он возвращает простой пустой массив, где он использовался для возврата списка записей CNAME, которые совпадали с тем, что было в моей службе управления DNS. Я прочитал статью здесь:

Почему dns_get_record не показывает CNAME, когда я ЗНАЮ, что они существуют?

и в итоге попытался реализовать функциональность с библиотекой NetDns2 Pear с помощью следующего кода. И все же, массив ответов ответа пуст. Не уверен, является ли проблема одинаковой от get_dns_record до NetDNS2 или если я делаю что-то неправильно в обоих случаях, но на проверенных сайтах наверняка есть записи CNAME, включая google.com и yahoo.com .

 //using Google Name Server $rslvr = new Net_DNS2_Resolver(array('nameservers' => array('8.8.8.8'))); $records['cname'] = $rslvr->query($url, 'CNAME'); 

Любая помощь приветствуется, конечной целью является получение списка записей CNAME, как я был на моей старой машине.

Solutions Collecting From Web of "Получить записи Cname с помощью NetDNS или get_dns_record"

Работает здесь с PHP 5.4.9.

Первая запись (cweiske.de) не является CNAME но указывает на IP-адрес:

 php > var_dump(dns_get_record('cweiske.de', DNS_CNAME)); array(0) { } 

Второй – это CNAME для первой записи:

 php > var_dump(dns_get_record('www.cweiske.de', DNS_CNAME)); array(1) { [0] => array(5) { 'host' => string(14) "www.cweiske.de" 'class' => string(2) "IN" 'ttl' => int(86400) 'type' => string(5) "CNAME" 'target' => string(10) "cweiske.de" } } 

dig показывает то же самое:

 $ dig cweiske.de cweiske.de. 577 IN A 83.169.7.198 $ dig www.cweiske.de www.cweiske.de. 86397 IN CNAME cweiske.de. cweiske.de. 597 IN A 83.169.7.198 

Чтобы проверить, является ли это вашей или PHP-проблемой, используйте dig или nslookup для тестирования.