33 Stimmen

PHP php_network_getaddresses: getaddrinfo failed: Kein solcher Host ist bekannt

Ich habe DNS-Probleme mit einer bestimmten Ziel-Domäne. Ich verwende fopen() (aber das gleiche Problem tritt bei anderen Funktionen auf), um ein Bild abzurufen, aber ich erhalte diesen Fehler: Warnung: fopen(): php_network_getaddresses: getaddrinfo ist fehlgeschlagen: Es ist kein solcher Host bekannt

Ich kann die Domain über die Eingabeaufforderung pingen oder nslookup ausführen, aber aus irgendeinem Grund wirft PHP diesen Fehler. Wenn ich fopen('http://www.google.com', r); oder andere Domains versuche, funktioniert alles. Aber die oben genannte Domain löst einfach nicht mit PHP auf. Ich habe den DNS geleert, Apache neu gestartet, aber immer noch kein Glück..

Ich habe es versucht mit:

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

Was kann dazu führen, dass diese einzelne Domain nicht aufgelöst wird?

24voto

Ivan Buttinoni Punkte 3922

IMO ist es der unterschiedliche Weg, einen Namen vom Betriebssystem und von PHP aufzulösen.

Versuche es:

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

und

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

oder

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

Du solltest einige DNS/Auflösungsfehler finden.

4voto

anil Punkte 49

Ihr "localhost" kann den Namen www.google.com nicht auflösen, was bedeutet, dass Ihr Gerät keinen gültigen DNS-Server erreichen kann.

Versuchen Sie, auf der Konsole dieses Geräts google.com anzupingen, um dies zu überprüfen.

2voto

Mostafa Lavaei Punkte 1798

Es ist flexibler, curl anstelle von fopen und file_get_content zum Öffnen einer Webseite zu verwenden.

1voto

Szektor Punkte 37

Ihr Zieldomäne könnte sich weigern, Ihnen Informationen zu senden. Dies kann als Filter basierend auf dem Browser-Agenten oder anderen Header-Informationen funktionieren. Dies ist eine Verteidigung gegen Bots, Crawler oder unerwünschte Anwendungen.

1voto

Omkar Ghurye Punkte 166

getaddrinfo fehlgeschlagen: Kein solcher Host ist bekannt

Der oben genannte Fehler wird durch einen Fehler im Datenbank-Host (DB_HOST) in der .env-Datei verursacht

Öffnen Sie die .env-Datei und überprüfen Sie insbesondere diese Umgebungsvariablen

DB_HOST=localhost
DB_DATABASE=databanken_name
DB_USERNAME=databanken_benutzername
DB_PASSWORD=databanken_passwort

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X