gethostbynamel în PHP

Rețea PHP 4+

Returnează toate adresele IPv4 ale unui domeniu, ca tablou.

Sintaxă
gethostbynamel(string $hostname): array|false

Ce face gethostbynamel

Multe site-uri mari au mai multe adrese IP, pentru împărțirea traficului. gethostbyname îți dă doar una, iar gethostbynamel pe toate (litera l vine de la „list”).

Spre deosebire de gethostbyname, la eșec returnează false. Pentru adrese IPv6 folosește dns_get_record($domeniu, DNS_AAAA).

Parametri

Parametru Descriere
$hostname Numele domeniului.

Ce returnează

Un tablou cu adresele IPv4 sau false dacă domeniul nu poate fi găsit.

Exemple

Exemplul 1: localhost și un domeniu inexistent

<?php
print_r(gethostbynamel("localhost"));
var_dump(gethostbynamel("magazin-inexistent.invalid"));

Rezultat

Array
(
    [0] => 127.0.0.1
)
bool(false)

Exemplul 2: Un site cu mai multe adrese

<?php
print_r(gethostbynamel("www.exemplu.ro"));

Rezultat posibil (depinde de DNS)

Array
(
    [0] => 203.0.113.25
    [1] => 203.0.113.26
)

Greșeli frecvente

  • Te aștepți ca ordinea adreselor să fie mereu aceeași. Multe servere DNS le rotesc la fiecare interogare.

Comenzi înrudite

  • gethostbyname: Află adresa IPv4 a unui domeniu, de exemplu adresa IP din spatele unui site.
  • gethostbyaddr: Află numele de domeniu asociat unei adrese IP (interogare DNS inversă).
  • dns_get_record: Citește înregistrările DNS ale unui domeniu: A, AAAA, MX, TXT, NS, CNAME și altele.