경고: Php_network_getaddresses: Getaddrinfo 실패: 알려진 호스트가 없습니다.
PHP에서 데이터베이스, 서버 또는 웹 서비스로 작업하는 동안 다음 경고가 표시되었을 수 있습니다.
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: pokharasahar.com: Name or service not known
여기에서는 존재하지 않는 호스트 이름 pokharasahar.com
을 사용했습니다.
따라서 dns_get_record()
함수를 사용하여 이름 확인을 수행하여 도메인이 존재하는지 확인할 수 있습니다. 이렇게 하면 PHP의 php_network_getaddresses: getaddrinfo 실패
경고를 제거할 수 있습니다.
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn