Penyelesaian kepada masalah yang PHP tidak dapat menyelesaikan nama domain: 1. Gunakan baris arahan terminal untuk menjalankan perintah "# php -r "echo(gethostbyname('...'));"; ; 2. Tukar "libnss_dns .so.2 libnss_files.so.2 libresolv.so.2" disalin ke lib direktori hos maya 3. Mulakan semula php melalui "# amh php restart xxx.com".
Persekitaran pengendalian tutorial ini: sistem linux5.9.8, PHP versi 8.1, komputer Dell G3.
Apakah yang perlu saya lakukan jika php tidak dapat menyelesaikan nama domain?
Mengenai masalah resolusi nama domain yang tidak berjaya dalam PHP
Sila beri perhatian untuk menggunakan panel hos maya untuk mengurus sistem, terutamanya panel amh! !
Saya telah diseksa hingga mati hari ini Selepas memasang panel amh, semua fungsi yang menggunakan resolusi nama domain gagal, seperti gethostbyname, curl, menghantar e-mel, dan lain-lain. Selagi URL adalah nama domain. , semua fungsi gagal. Cuma tukar ke alamat IP Pada mulanya, saya fikir ia adalah masalah DNS, saya mendapati bahawa yang digunakan adalah 8.8.8.8 dan 8.8.4.4. Selain itu, ping nama domain itu juga kembalikan alamat IP dengan betul. NSlookup juga perkara yang paling pelik ialah Ya, gunakan baris arahan terminal untuk menjalankan:
# php -r "echo(gethostbyname('www.baidu.com'));";
sebenarnya boleh mengembalikan IP, jadi saya menyasarkan kepada amh, ia sepatutnya. masalahnya. Saya mencari dalam talian untuk masa yang lama dan bertanya kepada ramai orang, saya tidak menemui penyelesaian persekitaran sistem di luar direktori tidak boleh digunakan. Ia termasuk resolusi dns secara beransur-ansur menjadi jelas, jadi saya menyemak lib yang diperlukan untuk menghuraikan dns, terutamanya ketiga-tiga ini:
libnss_dns.so.2 libnss_files.so.2 libresolv.so.2
Sekarang, inilah titiknya. , panel amh, jika anda menghadapi masalah yang sama, semaknya, cd kepada anda Direktori hos maya: /home/wwwroot/xxx.com/, ada dll, lib, usr, web, tmp dan direktori lain di bawah. Salin tiga lib yang disebutkan di atas ke direktori lib hos maya anda
# cp /lib/i386-linux-gnu/libnss_* /home/wwwroot/xxx.com/lib/
Cuba lagi sekarang, adakah ia berjaya?
Oh, saya akan menangis jika saya bercakap terlalu banyak...
---------------------- ---- ---
PS: Selepas langkah terakhir selesai, ingat untuk memulakan semula php, amh, arahan langsung:
# amh php restart xxx.com
Pembelajaran yang disyorkan: "Video PHP Tutorial"
Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika php tidak dapat menyelesaikan nama domain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!