file_get_contents有时会起作用,有时候不会

时间:2016-10-27 09:44:13

标签: php symfony nginx server file-get-contents

我在Ubuntu 14.04中使用Nginx服务器,我的代码是用symfony2制作的。

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

我正在尝试使用另一个带有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行

当我在Amazon Web服务器中重启我的实例时,这种情况就开始发生了,所以我现在不知道是否应该进行一些配置更改。我尝试过使用curl但同样的问题。

更新

如果我尝试在浏览器中访问该页面,它会立即生效。

1 个答案:

答案 0 :(得分:0)

我发现它是什么:

在我的OVH托管中,我改变了我的dns的ipv4。 但我没有改变ipv6。

因此,有时当我尝试访问该网站时,呼叫被重定向到正确的ip(ipv4中显示的路径),有时是旧的错误(ipv6指示的路径)