2013-07-24 53 views
1

我的域名設置在windows的「hosts」文件中,並且其名稱類似於「my.site」。我正在使用它進行開發。如何讓自定義域名與「php_network_getaddresses」配合使用

但是這似乎不適用於fsockopen()開放功能。我得到「php_network_getaddresses:getaddrinfo失敗:名稱或服務未知」。

是否有可能使其工作?

+0

唉,我沒有你的問題的答案。我唯一可以推薦的是找到另一種方式來支持自定義域名(我使用.htaccess)或將系統設置在適當的服務器上進行開發。 – hendr1x

+0

你是如何使用fsockopen()? –

+0

As @KlausS。指出,我認爲你使用'fsockopen'的方式有問題,因爲我剛剛做了PHP的例子#1的fsockopen的域名解析使用'hosts'文件。 – Mehran

回答

1

這完全適用於我:

// inside hosts file: 
// 10.128.0.23 test.domain.example 

$socket = fsockopen('test.domain.example', 80); 
fclose($socket); 

我可以ping該域名,並獲得一個有效的答案,它運行80

我從您的評論讀端口的web服務器,你的PHP位於虛擬機內 - 那麼你應該嘗試ping是否在那裏工作,如果沒有的話:將域名添加到你的hosts文件中。虛擬機不一定會繼承其主機的名稱解析功能。

+0

你是對的,ping也行不通。你知道我怎麼能把這個域暴露給虛擬機? – Alex

+0

如果它不能直接使用,那麼它可能永遠不會。您必須以相同的方式編輯這兩個主機文件。你還沒有提到你使用的是哪種設置,我想它高度依賴於細節。最簡單的出路:只需編輯文件到您的願望。 – Sven

+0

哦,我太傻了。我沒有意識到Ubuntu也有一個hosts文件。所以在Windows中,我添加了'192.168.56.101 my.site',並在Ubuntu的'127.0.0.1 my.site'中,現在ping似乎工作 – Alex