技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運(yùn)營

贊助商

分類目錄

贊助商

最新文章

搜索

file_get_contents()報(bào)錯(cuò)gethostbyname failed的原因

作者:admin    時(shí)間:2015-8-23 0:8:6    瀏覽:

今天,一臺測速VPS的PHP程序運(yùn)行出現(xiàn)了問題,一直以來都運(yùn)行得好好的,怎么會突然運(yùn)行不了呢?首先我想到的是Web服務(wù)器IIS的問題,于是重啟IIS,但是并不湊效;隨后重啟服務(wù)器,但是問題依舊,這讓我一時(shí)不知道怎么處理為好。于是,開始分析起錯(cuò)誤日志起來。

報(bào)錯(cuò)提示:gethostbyname failed

其實(shí)PHP程序執(zhí)行并沒有問題,說明PHP環(huán)境是沒有被破壞的。出問題的是某些程式(函數(shù))不能執(zhí)行,報(bào)錯(cuò)提示如下:

Warning: get_headers() [function.get-header]: php_network_getaddresses: gethostbyname failed. errno = 0

Warning: get_headers(http://m.baidu.com) [function.get-header]: failed to open stream: php_network_getaddresses: gethostbyname failed. errno = 0

Notice: Undifined offset:1

Warning: file_get_contents() [function.file-get-contents]: php_network_getaddresses: gethostbyname failed. errno = 0

Warning: file_get_contents() [function.file-get-contents]: failed to open stream: php_network_getaddresses: gethostbyname failed. errno = 0

根據(jù)報(bào)錯(cuò)提示,PHP運(yùn)行出錯(cuò)的地方是get_headers()file_get_contents(),而原因均為gethostbyname失敗。意思是獲取不了域名主機(jī),即是域名解析失敗了。

解決方法

域名解析失敗,問題找到了,但是原因是什么,以及如何解決呢?

根據(jù)以往的經(jīng)驗(yàn),服務(wù)器不能解析域名,原因多是DNS的設(shè)置的問題,于是就從DNS的設(shè)置做起。

服務(wù)器的DNS原先是一個(gè)當(dāng)?shù)芈?lián)通的DNS,我現(xiàn)在把服務(wù)器的DNS設(shè)為8.8.8.8這個(gè)公共DNS看看。

然后,在dos里ping一下域名,看到可以ping通了。

 檢測網(wǎng)絡(luò)連通與否

檢測網(wǎng)絡(luò)連通與否

再次訪問PHP程序,終于沒問題了!

總結(jié)

本次經(jīng)驗(yàn)是,當(dāng)在服務(wù)器訪問不了外網(wǎng)網(wǎng)站時(shí),試試更改下服務(wù)器的DNS,DNS對網(wǎng)絡(luò)的連通性起到十分重要的作用。

標(biāo)簽: file_get_contents  
x
  • 站長推薦
/* 左側(cè)顯示文章內(nèi)容目錄 */