:
dns_check_record () dépend de la connexion réseau et du fonctionnement normal du serveur DNS. Si le serveur est inaccessible ou si la connexion réseau est interrompue lorsque la requête DNS est exécutée, la fonction peut ne pas être en mesure d'obtenir l'enregistrement DNS, ce qui entraîne une valeur nulle.
Fix Méthode :
Vérifiez si la connexion réseau du serveur est normale pour vous assurer que le serveur DNS est accessible.
Utilisez l'outil PING ou NSLookup pour tester si le serveur DNS cible est disponible.
Si le serveur DNS est inaccessible, contactez l'administrateur ou remplacez le serveur DNS.
raison :
La fonction DNS_CHECK_RECORD () prend en charge plusieurs types d'enregistrements DNS, tels que A , MX , TXT , etc. Si vous passez un type d'enregistrement incorrect ou non pris en charge, la fonction peut renvoyer une valeur nulle.
Fix Méthode :
Assurez-vous que le type d'enregistrement DNS transmis à dns_check_record () est valide. Par exemple, les types communs incluent A , MX , CNAME , TXT , etc.
Vous pouvez utiliser CheckDnsrr () lorsque vous appelez la fonction pour vérifier les types d'enregistrements DNS pour confirmer qu'ils sont corrects.
raison :
Lorsque l'enregistrement DNS du nom de domaine de requête n'existe pas, dns_check_record () renvoie une valeur nulle. Cette situation est particulièrement courante lors de l'interrogation de certains noms de domaine qui n'existent pas ou des enregistrements DNS n'ont pas été configurés.
Fix Méthode :
Confirmez si le nom de domaine de requête est correct et évitez les erreurs d'entrée.
Vérifiez la configuration DNS du nom de domaine cible pour vous assurer que les enregistrements pertinents du nom de domaine sont correctement configurés.
S'il s'agit d'un nom de domaine que vous gérez, utilisez des outils de gestion DNS (tels que CPanel, CloudFlare, etc.) pour afficher la configuration du journal.
raison :
Parfois, les requêtes DNS sont affectées par les caches DNS locales ou intermédiaires. Si les enregistrements dans le cache expirent ou sont inexacts, il peut entraîner le renvoie une valeur nulle DNS_CHECK_RECORD () .
Fix Méthode :
Effacer le cache DNS local (à l'aide de la commande ipconfig / flushdns sur la ligne de commande) pour s'assurer que les derniers enregistrements DNS sont interrogés.
Si le problème persiste, essayez de remplacer le serveur DNS que vous utilisez, comme Google DNS (8.8.8.8 et 8.8.4.4) ou CloudFlare DNS (1.1.1.1).
raison :
Dans certains cas, les scripts PHP peuvent être soumis à des restrictions d'autorisation sur l'environnement du serveur, ce qui entraîne des requêtes DNS incapables d'être effectuées. En particulier dans l'hébergement partagé ou dans certains environnements de serveur privé virtuel (VPS), la configuration PHP peut restreindre les demandes de réseau externes.
Fix Méthode :
Vérifiez les paramètres DISABLE_FONCTIONS dans le fichier de configuration PHP ( PHP.ini ) pour vous assurer que les fonctions liées au réseau telles que DNS_CHECK_RECORD () ne sont pas désactivées.
Vérifiez si les demandes DNS externes sont bloquées dans le pare-feu ou la configuration de sécurité du serveur.
raison :
La fonction dns_check_record () accepte plusieurs paramètres, y compris le nom de domaine et le type de requête. Si ces paramètres sont mal formatés ou si les valeurs nécessaires sont manquantes, cela peut également entraîner un retour des valeurs nulles.
Fix Méthode :
Assurez-vous que le premier paramètre transmis à dns_check_record () est un nom de domaine valide.
Vérifiez que le deuxième paramètre (type d'enregistrement) est passé correctement et assurez-vous qu'il s'agit d'un type juridique.
<span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">dns_check_record</span></span><span>(</span><span><span class="hljs-string">'example.com'</span></span><span>, </span><span><span class="hljs-string">'A'</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"A record exists."</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"No A record found."</span></span><span>;
}
</span></span>
raison :
Parfois, il peut y avoir des erreurs logiques dans le code, ce qui fait que la fonction renvoie une valeur nulle même si l'enregistrement DNS existe. Par exemple, un mauvais jugement conditionnel, des appels répétés, etc.
Fix Méthode :
Vérifiez soigneusement le jugement conditionnel du code pour vous assurer qu'il n'y a aucun problème avec la logique.
Vous pouvez imprimer des informations de débogage, vérifier la valeur de retour de la fonction et sa pile d'appels et localiser la cause profonde du problème.