【问题标题】:file_get_contents() not working to same serverfile_get_contents() 不适用于同一台服务器
【发布时间】:2014-04-09 21:30:59
【问题描述】:

我无法使用 file_get_contents() 从同一服务器域获取内容。

例如。我的域名是 mydomain.com

  • 当我有 file_get_contents('http://mydomain.com') 时,我从这台服务器收到错误消息:

    file_get_contents():打开流失败:连接超时

  • 如果我有file_get_contents('http://google.com'),它就可以工作

  • 如果我将此 php 脚本 file_get_contents('http://mydomain.com') 添加到其他服务器,则它可以工作。但是对于当前的服务器,它不是。

我的服务器:

Ubuntu 12.04
Apache 2.4.9
PHP 5.5.10

allow_url_fopen = on

apt-get upgrade 之前一切正常

【问题讨论】:

  • PHP 的报错返回什么?
  • 这不就像运行一个永远循环...使用 file_get_contents() 从特定页面获取相同页面
  • 是的,它看起来像这样,但是当我粘贴到浏览器中时,我在 file_get_contents() 中使用的链接工作正常
  • 您清楚地知道您升级了什么,但我们不知道。只有你能解决这个问题。你检查过明显的吗?您的服务器正在运行吗?
  • 是的,确定检查,服务器正在运行,此功能与其他域一起使用,而不是此服务器内部的这个

标签: php apache


【解决方案1】:

我发现问题出在哪里:

错过了

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:72 errors:0 dropped:0 overruns:0 frame:0
          TX packets:72 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:114067 (114.0 KB)  TX bytes:114067 (114.0 KB)

来自 $ ifconfig

【讨论】:

  • 很高兴知道问题是什么,因为我面临同样的问题。
  • 老兄!发布您发现问题所在的帖子真的很不酷,但当其他人显然可能会从您的发现中受益时,请不要详细说明细节。你为什么不给我们一个坚实的,并提供呢?
【解决方案2】:

你应该写这个

$file = file_get_contents('YOUR FILE LOCATION (e.g. /rss.txt)', FILE_USE_INCLUDE_PATH);

这对我有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-19
    相关资源
    最近更新 更多