Saltar al contenido

Función dns_check_record() de PHP: Todo lo que necesitas saber

Como desarrollador de PHP, es posible que necesites verificar registros DNS o comprobar si existe un registro específico para un dominio. Históricamente, la función dns_check_record() se utilizaba para este propósito. Sin embargo, ten en cuenta que dns_check_record() fue marcada como obsoleta en PHP 7.3 y completamente eliminada en PHP 8.0. Este tutorial explica su uso heredado y proporciona la alternativa moderna, dns_get_record(), que se recomienda para todos los proyectos PHP actuales.

¿Qué es la función dns_check_record()?

La función dns_check_record() era una función integrada de PHP que te permitía comprobar si existía un tipo específico de registro DNS para un nombre de dominio determinado. Devolvía un valor booleano: true si el registro existía, y false en caso contrario. Debido a su eliminación en PHP 8.0, solo está disponible en sistemas heredados (PHP 7.2 y versiones anteriores).

Cómo usar la función dns_check_record()

Usar la función heredada dns_check_record() era sencillo. A continuación se muestra su sintaxis:

La sintaxis de la función PHP dns_check_record()

php
dns_check_record($host, $type);

La función acepta dos parámetros:

  • $host: El nombre de dominio que deseas verificar.
  • $type: El tipo de registro DNS que deseas verificar. Este parámetro es opcional y su valor predeterminado es "MX" si no se especifica.

Dado que dns_check_record() ya no es compatible con las versiones modernas de PHP, utiliza dns_get_record() en su lugar. A continuación se muestra cómo verificar un tipo específico de registro DNS:

¿Cómo usar la función dns_get_record()?

php
<?php

$domain = "example.com";
$records = dns_get_record($domain, DNS_A);
if ($records) {
    echo "DNS record exists for $domain";
} else {
    echo "DNS record does not exist for $domain";
}

En este ejemplo, verificamos si existe un registro A para el dominio "example.com". La función devuelve una matriz de registros si se encuentra, o false en caso contrario.

Tipos de registros DNS

Tanto dns_check_record() como dns_get_record() pueden verificar varios tipos de registros DNS. El parámetro $type especifica el tipo de registro DNS que deseas verificar. A continuación se muestran algunos de los tipos de registros DNS más comunes:

  • A: Devuelve la dirección IPv4 del nombre de dominio.
  • AAAA: Devuelve la dirección IPv6 del nombre de dominio.
  • MX: Devuelve el servidor de intercambio de correo para el nombre de dominio.
  • NS: Devuelve el servidor de nombres para el nombre de dominio.
  • CNAME: Devuelve el nombre canónico para un alias.

Conclusión

Aunque dns_check_record() fue en su día una herramienta estándar para verificar registros DNS, ha sido eliminada de las versiones modernas de PHP. Al utilizar la alternativa moderna dns_get_record(), puedes verificar de forma fiable varios tipos de registros DNS para cualquier dominio. Esperamos que esta guía aclare el uso de la función heredada y proporcione un camino práctico hacia adelante para el desarrollo actual de PHP.

Práctica

¿Qué hace la función 'dns_check_record()' en PHP?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.