Maison > développement back-end > Problème PHP > Que dois-je faire si php ne parvient pas à résoudre le nom de domaine ?

Que dois-je faire si php ne parvient pas à résoudre le nom de domaine ?

藏色散人
Libérer: 2023-03-17 15:32:01
original
5941 Les gens l'ont consulté

Solution au problème selon lequel php ne peut pas résoudre le nom de domaine : 1. Utilisez la ligne de commande du terminal pour exécuter la commande "# php -r "echo(gethostbyname('...'));";" "libnss_dns.so.2 libnss_files.so.2 libresolv.so.2" est copié dans le répertoire lib de l'hôte virtuel ; 3. Redémarrez php via "# amh php restart xxx.com".

Que dois-je faire si php ne parvient pas à résoudre le nom de domaine ?

L'environnement d'exploitation de ce tutoriel : système linux5.9.8, PHP version 8.1, ordinateur Dell G3.

Que dois-je faire si php ne parvient pas à résoudre le nom de domaine ?

À propos du problème de résolution de nom de domaine infructueuse en PHP

Veuillez faire attention à l'utilisation du panneau d'hôte virtuel pour gérer le système, en particulier le panneau amh ! !

J'ai été tourmenté à mort ces jours-ci. Après avoir installé le panneau amh, toutes les fonctions qui utilisent la résolution de nom de domaine échouent, comme gethostbyname, curl, l'envoi d'e-mails, etc. Tant que l'URL est un nom de domaine, elles échouent toutes. . Remplacez-le par une adresse IP. Tout va bien. Au début, j'ai pensé qu'il s'agissait d'un problème DNS. Après vérification, j'ai découvert que j'utilisais 8.8.8.8 et 8.8.4.4, et que le ping de ces noms de domaine pouvait également renvoyer des adresses IP correctement. . NSlookup était également normal. Le plus étrange, c'est qu'en utilisant le terminal, exécutez le terminal de ligne de commande :

# php -r "echo(gethostbyname('www.baidu.com'));";
Copier après la connexion

peut en fait renvoyer l'adresse IP, donc j'ai visé amh, cela devrait être son problème en ligne et j'en ai demandé à beaucoup. personnes, mais aucune solution n'a été trouvée. Plus tard, je l'ai appris par hasard. Après avoir recherché sur Baidu à propos de chroot, j'ai découvert que cette chose basculait l'environnement système vers un répertoire spécifié. L'environnement système en dehors du répertoire ne peut pas être utilisé. . C'est progressivement devenu clair, alors j'ai vérifié ce qui est nécessaire pour analyser le DNS. Quelles bibliothèques vérifier, principalement ces trois :

libnss_dns.so.2  libnss_files.so.2  libresolv.so.2
Copier après la connexion

Maintenant, voici le point, le panneau amh, si vous rencontrez le même problème, vérifiez-le, cd dans le répertoire de votre hôte virtuel : /home/wwwroot/xxx.com/, ci-dessous Il existe des répertoires tels que etc, lib, usr, web, tmp, etc. Copiez les trois libs mentionnées ci-dessus dans le répertoire lib de votre hôte virtuel

# cp /lib/i386-linux-gnu/libnss_* /home/wwwroot/xxx.com/lib/
Copier après la connexion

Réessayez maintenant. Est-ce réussi ?

Oh, je suis en larmes si je parle trop...

------------------------------- -

PS : Enfin Après avoir terminé une étape, pensez à redémarrer php, amh, commande directe :

# amh php restart xxx.com
Copier après la connexion

Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal