PHP 中 Warning: Php_network_getaddresses: Getaddrinfo Failed: No Such Host Is Known
在 PHP 中使用数据库、服务器或 Web 服务时,您可能遇到过以下警告。
Warning : php_network_getaddresses: getaddrinfo failed: No such host is known
当您的系统找不到有效的 DNS 服务器时,会出现警告。 本文将介绍一种消除此类警告的方法。
使用 dns_get_record() PHP 函数确保主机存在
我们可以使用 PHP 中的文件函数(如 fopen()
、fgets()
和 fclose()
)与网站进行交互和读取内容。 打开 URL 时,您可能会遇到一条警告消息,指出没有这样的主机是已知的。
完整的警告显示在文章的开头。 警告的一个可能原因是主机可能不存在。
因此,这是检查主机状态的好方法。
我们可以使用 dns_get_record()
PHP 函数来查看特定主机的 DNS 资源记录。 我们可以在函数中设置主机名,获取其DNS信息。
例如,创建一个变量 $result 并将函数 dns_get_record()
分配给它。 将主机名 stackoverflow.com 作为参数写入函数。
接下来,使用 print_r()
来显示 $result 变量的信息。
示例代码:
$result = dns_get_record("stackoverflow.com");
echo '<pre>', print_r($result), '</pre>';
输出结果:
Array
(
[0] => Array
(
[host] => stackoverflow.com
[class] => IN
[ttl] => 186
[type] => A
[ip] => 151.101.129.69
)
[1] => Array
(
[host] => stackoverflow.com
[class] => IN
[ttl] => 186
[type] => A
[ip] => 151.101.65.69
)
[2] => Array
(
[host] => stackoverflow.com
[class] => IN
[ttl] => 186
[type] => A
[ip] => 151.101.1.69
)
[3] => Array
(
[host] => stackoverflow.com
[class] => IN
[ttl] => 186
[type] => A
[ip] => 151.101.193.69
)
)
1
输出显示 stackoverflow.com 的 DNS 资源记录。 它确保主机名存在。
如果主机名不存在,输出将是这样的。
输出:
Array
(
)
1
您还可以使用 ping 命令检查名称解析。 在终端中键入以下内容。
$ ping stackoverflow.com
输出结果:
如果主机不存在,输出是这样的。
ping: jiyi.com: Name or service not known
在这里,我们使用了不存在的主机名 jiyi.com。
因此,我们可以使用 dns_get_record()
函数执行名称解析以确保域存在。 这样,我们就可以摆脱 PHP 的 php_network_getaddresses: getaddrinfo failed 警告。
相关文章
如何在 PHP 中获取时间差的分钟数
发布时间:2023/03/29 浏览次数:183 分类:PHP
-
本文介绍了如何在 PHP 中获取时间差的分钟数,包括 date_diff()函数和数学公式。它包括 date_diff()函数和数学公式。