關於PHP中解析網域名稱不成功的問題

來源:互聯網
上載者:User

用虛擬機器主機面板管理系統的注意了,尤其是amh面板!!

這幾天折騰死我了,裝了amh面板之後,所有用到網域名稱解析的函數全部失敗,比如gethostbyname, curl, 發郵件等等功能,只要url是網域名稱的,全部失敗,換成ip地址就可以,一開始還以為是dns的問題,查了一下,用的是8.8.8.8和8.8.4.4,而且ping那些網域名稱也能正確返回ip地址,nslookup也正常,最TM詭異的是,用terminal命令列終端運行:

# php -r "echo(gethostbyname('www.baidu.com'));";

居然是可以返回ip的,於是把目標瞄準amh,應該是它的問題了,上網找了很久很久,問過很多人,都沒有找到解決方案,後來無意中瞭解了chroot這個玩意,百度了一下,發現這東西是將系統內容切換到指定的一個目錄,目錄外的系統內容都用不了了,包含dns解析,開始慢慢明朗了,於是查了一下解析dns需要用到哪些lib,主要是這三個:

libnss_dns.so.2 libnss_files.so.2 libresolv.so.2

現在,重點來了,amh面板的,遇到相同問題的看過來,cd到你的虛擬機器主機目錄:/home/wwwroot/xxx.com/,下面有etc, lib, usr, web, tmp等等目錄,將上面說的三個lib copy到你的虛擬機器主機目錄的lib下

# cp /lib/i386-linux-gnu/libnss_* /home/wwwroot/xxx.com/lib/

現在再試一下,是不是成功了?

唉,說多了都是淚啊...

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

PS: 最後一步完成後記得重啟php,amh的,直接命令:

# amh php restart xxx.com

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.