J'ai des problèmes de DNS avec un certain domaine cible. J'utilise fopen()
(mais le même problème avec d'autres fonctions) pour récupérer une image, mais le message d'erreur suivant s'affiche: Warning: fopen(): php_network_getaddresses: getaddrinfo failed: No such Host is known
Je suis capable de cingler ou nslookup le domaine de la commande Invite, mais pour une raison quelconque, php lève cette erreur. Lorsque j'essaie fopen('http://www.google.com', r);
ou d'autres domaines, tout se passe bien. Mais le domaine mentionné ci-dessus ne résoudra tout simplement pas avec PHP. J'ai vidé le DNS, redémarré Apache, mais toujours pas de chance ..
J'ai essayé avec:
Qu'est-ce qui peut empêcher ce domaine unique de se résoudre?
OMI c'est la manière différente de résoudre un nom de l'OS et de PHP.
Essayer:
echo gethostbyname("Host.name.tld");
et
var_export (dns_get_record ( "Host.name.tld") );
ou
$dns=array("8.8.8.8","8.8.4.4");
var_export (dns_get_record ( "Host.name.tld" , DNS_ALL , $dns ));
Vous devriez trouver une erreur DNS/résolveur.
Votre "hôte local" ne peut pas résoudre le nom www.google.com, ce qui signifie que votre ordinateur n'atteint pas/ne peut pas atteindre un serveur DNS valide.
Essayez de vérifier google.com sur la console de cette machine.
Il est plus flexible d’utiliser curl
au lieu de fopen
et file_get_content
pour ouvrir une page Web.
Une chose étrange que j'ai trouvée est que la variable d'environnement SYSTEMROOT
doit être définie, sinon getaddrinfo()
échouera sous Windows 10.