【问题标题】:Wrong DNS Settings, php_network_getaddresses: getaddrinfo failed Name or service not known, nslookup错误的 DNS 设置,php_network_getaddresses: getaddrinfo failed Name or service not known, nslookup
【发布时间】:2012-08-03 19:48:46
【问题描述】:

问题原本是这样的:

警告:file_get_contents() [function.file-get-contents]: php_network_getaddresses:getaddrinfo 失败:名称或服务未知 /home///ppk_hotweb.class.php 第 58 行

我也使用了 cURL,它只是返回 null,就是这样。(文件和 cURL)都已启用。

试过file_get_contents('google.com'),它成功了!

那为什么file_get_contents('domain.com.au') 不起作用呢?

所以我开始阅读相关的 stackoverflow 帖子,人们说这是 DNS 设置问题。

我尝试了以下方法:

> # ping domain.com.au
ping: unknown host domain.com.au

楼主怎么了?该网站已上线。

还有:

# nslookup domain.com.au
服务器:203.16.60.
地址:203.16.60.
#53

*** 找不到 domain.com.au:没有答案

> # dig domain.com.au

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.2 <<>> domain.com.au
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52814
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;domain.com.au.          IN      A

;; AUTHORITY SECTION:
domain.com.au.   3600    IN      SOA     ns1.web24.net.au. dns.web24.net.au. 2012080201 7200 3600 604800 3600

;; Query time: 1 msec
;; SERVER: 203.16.60.***#53(203.16.60.3)
;; WHEN: Sat Aug  4 05:43:23 2012
;; MSG SIZE  rcvd: 92

我将非常感谢任何帮助! 谢谢。

UPD:顺便说一句,刚刚尝试了 Whois 查找...

domain.com.au 不可用

:(

【问题讨论】:

  • 答案是纠正你的/etc/hosts。确保 url 指向它应该指向的位置(通常是 localhost)。

标签: php apache dns ping


【解决方案1】:

您的服务器正在使用的 DNS 服务器可能正在使用旧的缓存 DNS 记录,因为查找该主机对我有用。

我的dig 结果也返回了一个有效的 A 记录,而你的结果似乎没有。

考虑到 DNS 问题,这可能不会改变任何事情,但是

file_get_contents('domain.com.au');

应该是:

file_get_contents('http://domain.com.au');

使用第一个选项将尝试定位本地文件,而不是使用 http 包装器。

如果您有权限,请尝试将您的 /etc/resolv.conf 文件中的名称服务器更改为其他名称服务器。

【讨论】:

  • 是的,我没有快速添加 http://.. 它就在那里,无论如何.. root@vmx03 [/etc]# cat resolv.conf nameserver 203.16.60. 域名服务器 203.16.61.*** 现在是.. 应该/我可以更改什么 IP?
  • 它来自解析器设置页面:“如果您不知道在下面的框中输入什么并且无法联系您的提供商,请关闭此窗口并稍后再进行此设置。” :) 我真的不知道该放什么 :)
  • 暂时尝试在您的 resolv.conf 文件中使用 Google 的公共 DNS 服务器。用地址 8.8.8.88.8.4.4 替换那些名称服务器行,然后看看你是否可以解析该主机。
  • 所以我以后需要改吗?
  • 您可以安全地继续使用 Google 提供的这些 DNS 服务器,除非您的服务器明确需要使用自己的域名服务器来解析您控制的某些域。由于我不知道您之前使用的那些的完整 IP,我不能说谁控制它们或交易是什么,但显然他们提供的是陈旧的 DNS 信息,并且没有获取应有的更新信息.
【解决方案2】:

你可以像下面这样在没有 https 的情况下使用这个命令

 php -r "readfile('http://symfony.com/installer');" > symfony

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-07
    • 1970-01-01
    • 2019-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-08
    • 2021-12-14
    相关资源
    最近更新 更多