PHP的file_get_contents()上传到网络服务器
问题描述:
示例代码后不能正常工作: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上询问。
答
您的主机很可能拒绝出站连接。这是我能想到的唯一的事情。
答
这是某些PHP版本中的已知错误。告诉您的主机有关该问题,并要求他们升级PHP。
您的主机也有可能拥有非常天真的防火墙规则,阻止您尝试执行的任何网络连接。是哪个主机?
+0
同意,通常如果您搜索您的主机的常见问题/支持,他们提供了解决这些问题的指示。如果不要求他们允许,否则我建议移动到一个新的主机。 – Jamie 2010-04-26 00:59:29
你可以从网络服务器执行一个shell命令来ping Google吗?另外,你目前使用什么网络服务器,Apache?另外,你使用DHCP? – 2010-04-26 00:54:39
@Anthony - 由于ICMP被阻塞,ping不起作用。我使用的是Apache。不使用DHCP。事实证明,这是一个服务器问题。我想我应该问在serverfault.com – Ethan 2010-04-26 01:18:20