2010-04-26 56 views
2

示例代碼後不能正常工作:PHP的file_get_contents()上傳到網絡服務器

$html = file_get_contents('http://www.google.com'); 
echo $html; 

它適用於本地主機。但上傳到網絡服務器後,它給了我一個警告:file_get_contents():php_network_getaddresses:getaddrinfo失敗:名稱解析中的臨時失敗。如果我用google的IP地址替換域名,它會發出警告:未能打開流:連接超時。

而且ini_get( 「allow_url_fopen選項」)返回1

===
編輯:也許這是一個服務器的問題。我想這個問題應該在serverfault.com上詢問。

+0

你可以從網絡服務器執行一個shell命令來ping Google嗎?另外,你目前使用什麼網絡服務器,Apache?另外,你使用DHCP? – 2010-04-26 00:54:39

+0

@Anthony - 由於ICMP被阻塞,ping不起作用。我使用的是Apache。不使用DHCP。事實證明,這是一個服務器問題。我想我應該問在serverfault.com – Ethan 2010-04-26 01:18:20

回答

1

您的主機很可能拒絕出站連接。這是我能想到的唯一的事情。

1

這是某些PHP版本中的已知錯誤。告訴您的主機有關該問題,並要求他們升級PHP。

您的主機也有可能擁有非常天真的防火牆規則,阻止您嘗試執行的任何網絡連接。是哪個主機?

+0

同意,通常如果您搜索您的主機的常見問題/支持,他們提供瞭解決這些問題的指示。如果不要求他們允許,否則我建議移動到一個新的主機。 – Jamie 2010-04-26 00:59:29