Search code examples
phpfopengetaddrinfo

PHP php_network_getaddresses: getaddrinfo failed: No such host is known


I am having DNS issues with a certain target domain. I am using fopen() (but same issue with other functions) to retreive an image, but I get this error: Warning: fopen(): php_network_getaddresses: getaddrinfo failed: No such host is known

I am able to ping or nslookup the domain from the command prompt, but for some reason php throws this error. When I try fopen('http://www.google.com', r); or other domains, all goes fine. But above mentioned domain simply won't resolve with PHP. I have flushed the DNS, restarted Apache, but still no luck..

I have tried with:

  • Windows 7, Apache 2.2 PHP 5.3.6
  • Windows server 2008r2, Apache 2.2 PHP 5.3.6

What can cause this single domain to not resolve?


Solution

  • IMO it's the different way to resolve a name from the OS and PHP.

    Try:

    echo gethostbyname("host.name.tld");
    

    and

    var_export (dns_get_record ( "host.name.tld") );
    

    or

    $dns=array("8.8.8.8","8.8.4.4");
    var_export (dns_get_record ( "host.name.tld" ,  DNS_ALL , $dns ));
    

    You should found some DNS/resolver error.