Rumah >pembangunan bahagian belakang >masalah PHP >Apakah yang perlu saya lakukan jika php tidak dapat menyelesaikan nama domain?

Apakah yang perlu saya lakukan jika php tidak dapat menyelesaikan nama domain?

藏色散人
藏色散人asal
2022-12-02 09:26:275948semak imbas

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".

Apakah yang perlu saya lakukan jika php tidak dapat menyelesaikan nama domain?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn