我正在尝试使用 PHP 获取 CNAME 记录列表。
当我在旧的 Windows 7 机器上托管代码时,此方法曾经有效,但我将其移至 Ubuntu 机器(类似 AMP 堆栈设置),它不再返回$url
. 我将代码上传到 Windows 服务器,但仍然没有 CNAME 记录。
$records['cname'] = dns_get_record($url, DNS_CNAME);
并不是说我声称操作系统与任何事情有很大关系,也许我在我的旧机器上以某种方式设置了一些允许它工作的东西。它当前返回一个简单的空数组,因为它曾经返回与我的 DNS 管理服务中的内容匹配的 CNAME 记录列表。我在这里读过这篇文章:
当我知道它们存在时,为什么 dns_get_record 不显示 CNAME?
并最终尝试使用 Pear 的 NetDns2 库实现该功能,并使用以下代码。而且,answer
响应的数组仍然是空的。不确定从 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 记录列表。