2016-10-27 39 views
1

我在Ubuntu 14.04中使用Nginx服务器,我的代码是用symfony2编写的。file_get_contents有时有效,有时不会

我有一个简单的API,返回一个Json响应。

我试图用的file_get_contents与另一个页面访问此页面:

public function formAction() 


     $url = 'http://example.com/api/link/'; 
     $options = array(
      'http' => array(
       'header' => "Content-type: application/x-www-form-urlencoded\r\n", 
      ) 
     ); 


     $context = stream_context_create($options); 
     $result = file_get_contents($url, false, $context); 

     return ($result);   
    } 

但有时它的工作原理,有时没有! 我做了一个循环,看看频率:

它看起来像它的作品63/100和250/1000。 (作为平均值)

我得到这个错误时,它不工作:

警告: 的file_get_contents(http://example.com/api/link/): 未能打开流:HTTP请求失败! HTTP/1.1 404 /srv/www/path/to/my/file.php 未找到上线69

这开始时,我重新启动在亚马逊Web服务器我的实例发生,所以我不不知道我现在是否应该改变一些配置。我试图使用卷曲,但同样的问题。

UPDATE

如果我尝试访问该页面在浏览器总是立即开展工作。

+3

好了,你有一个404,所以这个问题似乎是在另一端,而不是你给的代码。 –

+1

你也可以做点什么,一旦你得到这个错误,可能会再次调用相同的东西。 –

+0

看一下Guzzle HTTP:http://docs.guzzlephp.org/en/latest/ –

回答

0

我发现它是什么:

在我的OVH托管我改变了我的DNS的IPv4。 但我没有改变ipv6。

所以有时候,当我试图进入的电话都被重定向到正确的IP站点(路径IPv4中显示),有时(由IPv6指示的路径)旧错一个

相关问题