Warnung: Php_network_getaddresses: Getaddrinfo fehlgeschlagen: Kein solcher Host bekannt

Subodh Poudel 15 Februar 2024
Warnung: Php_network_getaddresses: Getaddrinfo fehlgeschlagen: Kein solcher Host bekannt

Möglicherweise ist Ihnen beim Arbeiten mit Datenbanken, Servern oder Webdiensten in PHP die folgende Warnung begegnet.

Warning : php_network_getaddresses: getaddrinfo failed: No such host is known

Die Warnung wird verursacht, wenn Ihr System keinen gültigen DNS-Server finden kann. Dieser Artikel stellt eine Methode vor, um solche Warnungen loszuwerden.

Stellen Sie sicher, dass der Host mit der PHP-Funktion dns_get_record() existiert

Wir können mit den Dateifunktionen wie fopen(), fgets() und fclose() in PHP interagieren und Inhalte von einer Website lesen. Beim Öffnen einer URL wird möglicherweise eine Warnmeldung angezeigt, die besagt, dass kein solcher Host bekannt ist.

Die vollständige Warnung wird am Anfang des Artikels angezeigt. Ein wahrscheinlicher Grund für die Warnung ist, dass der Host möglicherweise nicht existiert.

Daher ist es ein guter Ansatz, den Status des Hosts zu überprüfen.

Wir können die PHP-Funktion dns_get_record() verwenden, um die DNS-Ressourceneinträge eines bestimmten Hosts anzuzeigen. Wir können den Hostnamen in der Funktion festlegen und seine DNS-Informationen abrufen.

Erstellen Sie beispielsweise eine Variable $result und weisen Sie ihr die Funktion dns_get_record() zu. Schreiben Sie den Hostnamen stackoverflow.com als Parameter an die Funktion.

Als nächstes verwenden Sie print_r(), um die Informationen der $result-Variablen anzuzeigen.

Beispielcode:

$result = dns_get_record("stackoverflow.com");
echo '<pre>', print_r($result), '</pre>';

Ausgang:

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

Die Ausgabe zeigt die DNS Resource Records von stackoverflow.com. Es stellt sicher, dass der Hostname existiert.

Wenn der Hostname nicht existiert, sieht die Ausgabe in etwa so aus.

Ausgang:

Array
(
)
1

Sie können die Namensauflösung auch mit dem Befehl ping überprüfen. Geben Sie im Terminal Folgendes ein.

ping stackoverflow.com

Ausgang:

im Terminal pingen

Wenn der Host nicht existiert, sieht die Ausgabe in etwa so aus.

ping: pokharasahar.com: Name or service not known

Hier haben wir den Hostnamen pokharasahar.com verwendet, der nicht existiert.

Daher können wir mit der Funktion dns_get_record() eine Namensauflösung durchführen, um sicherzustellen, dass die Domain existiert. Auf diese Weise können wir die PHP-Warnung php_network_getaddresses: getaddrinfo failed loswerden.

Subodh Poudel avatar Subodh Poudel avatar

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

Verwandter Artikel - PHP Warning