PHP文件“获取内容抛出”;无法打开流:HTTP请求失败&引用;访问大型xml文件时5-10秒内

PHP文件“获取内容抛出”;无法打开流:HTTP请求失败&引用;访问大型xml文件时5-10秒内,php,apache,http,timeout,file-get-contents,Php,Apache,Http,Timeout,File Get Contents,我试图加载一个包含file\u get\u内容的文件(“”),但在5-10秒内出现错误。xml文件在浏览器中可以很好地加载,如果我使用它的较小版本(在上面url的末尾添加“/future”),它可以很好地加载文件内容 剧本是: $file = "http://feeds.artistdata.com/xml.shows/artist/AR-YX458DZO75EQACZ3/xml"; $data = file_get_contents($file); 出现以下两个错误之一: Warning:

我试图加载一个包含file\u get\u内容的文件(“”),但在5-10秒内出现错误。xml文件在浏览器中可以很好地加载,如果我使用它的较小版本(在上面url的末尾添加“/future”),它可以很好地加载文件内容

剧本是:

$file = "http://feeds.artistdata.com/xml.shows/artist/AR-YX458DZO75EQACZ3/xml";
$data = file_get_contents($file);
出现以下两个错误之一:

Warning: file_get_contents("http://feeds.artistdata.com/xml.shows/artist/AR-YX458DZO75EQACZ3/xml") [function.file-get-contents]: failed to open stream: HTTP request failed! in MY_PHP_SCRIPT.php on line 2
或:


有什么想法吗?我试过了,但当我这么做的时候,我只得到了“第1行出错”。该错误在不到10秒的时间内出现,因此我无法想象这是一个超时问题,因为根据应用程序的不同,这些默认值通常为15秒或30秒。

//将其用于xml提要很好

$load=文件获取内容($load)http://artistdata.sonicbids.com/ari-herstand/shows/xml/');

打印(加载)

  • file_get_contents()以字符串形式返回文件,从指定的偏移量开始,最大为maxlen字节

  • 如果maxlength小于零,或者偏移量超过流的长度,则会生成E_警告级别错误


  • 很高兴知道artistdata的新URL,但使用它时仍然会出现相同的错误。是否有15秒或更短的默认超时值可以增加?最好使用artistdata.com提供的url。这就是他们希望您使用的,即使他们要将实际数据移动到另一个url,这也应该继续工作。@Micah…..如果该站点正在更新,则结果意味着,,,您可以在15秒后刷新一次…..这样您就可以得到更新的结果Sarjan,可以吗(有可能他们在被sonicbirds收购后更新了他们的xml提要url).Sam,我不知道你的意思。你能再说一遍吗?@Micah不,如果有15秒的超时值,我们仍然可以更新我们的php文件。这不适用,因为偏移量和maxlength都没有指定。有一个默认的maxlength,你的文件可能在上面。尝试一个较小的XML文件,如果它工作正常,你就会知道事实并非如此。大多数情况下,它要么超时,要么大小太大。如果你想让它工作,请使用cURLWell,它在我的机器上工作,并带有问题中的两行代码(请注意,问问题的不是我).@alfasin正如Arjan所说,我很确定这应该是可行的。我觉得服务器配置中的某个地方设置了一些默认超时(我没有访问权限),因为我发布的代码适用于同一域中的较小XML文件。(确切的URL适用于其他域,即使它非常大).我读过关于15秒apache超时的文章,有没有办法在PHP中暂时改变它?当你使用你展示的链接中的cURL时,你是否将:cURL_setopt($cURL_handle,CURLOPT_CONNECTTIMEOUT,2);改为:cURL_setopt($cURL_handle,CURLOPT_CONNECTTIMEOUT,15)?
    Warning: file_get_contents("http://feeds.artistdata.com/xml.shows/artist/AR-YX458DZO75EQACZ3/xml") [function.file-get-contents]: failed to open stream: Connection timed out  in MY_PHP_SCRIPT.php on line 2