【问题标题】:DNS_ANY working but DNS_TXT not working for DS_GET_RECORD php functionDNS_ANY 工作,但 DNS_TXT 不适用于 DS_GET_RECORD php 函数
【发布时间】:2017-08-16 04:59:33
【问题描述】:

我正在尝试调试 dns_get_record,因为它没有按预期工作。

我创建了一个文本 DNS 记录“laramon_59939919ec899.glibix.com”。值为“dd678f947384ed8d3531465439ff852e01e6eb1d”

与:

$result=dns_get_record('laramon_59939919ec899.glibix.com.',DNS_TXT);
print_r($result);

我明白了:

Array
(
)

但是有:

$result=dns_get_record('laramon_59939919ec899.glibix.com.',DNS_ANY);
print_r($result);

我明白了:

Array
(
    [0] => Array
        (
            [host] => laramon_59939919ec899.glibix.com
            [class] => IN
            [ttl] => 86182
            [type] => TXT
            [txt] => dd678f947384ed8d3531465439ff852e01e6eb1d
            [entries] => Array
                (
                    [0] => dd678f947384ed8d3531465439ff852e01e6eb1d
                )

        )

)

我添加的记录是TXT类型的。有人能帮我理解为什么我在专门寻找 TXT 记录时没有得到正确的记录吗?

【问题讨论】:

  • 您可能遇到了 DNS 缓存问题。当我使用DNS_TXT 运行您的代码时,它会提供所需的输出。
  • 有什么办法可以刷新这个缓存,或者强制 PHP 不使用缓存的值?我用 Linode 主持
  • 我不知道,因为它只是使用主机的DNS设置,你不能告诉上游DNS服务器不要返回缓存结果。 PHP 页面上的这个函数的文档有一些推荐外部实用程序的 cmets,如果你想更好地控制如何处理 DNS 调用。
  • @NickCoons 我注意到 DNS_ALL 可能不会以某种方式被缓存。所以我重写了我的代码以使用 DNS_ALL。感谢您的帮助。

标签: php dns-get-record


【解决方案1】:

感谢@NickCoons

正在从缓存中返回 DNS 记录。我通过将 DNS_TXT 更改为 DNS_ALL 来修复它。不知何故,似乎只有 DNS_TXT 返回缓存的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-29
    • 1970-01-01
    • 1970-01-01
    • 2019-08-26
    • 1970-01-01
    • 2021-12-01
    • 2013-05-24
    相关资源
    最近更新 更多