【问题标题】:file_get_content Error?file_get_content 错误?
【发布时间】:2015-07-18 22:49:23
【问题描述】:

在 localhost 上一切正常,但首先我在起伏不定后托管网站并克服了这个问题:

file_get_contents(http://....): failed to open stream: Connection timed out

我没有在我的代码中的任何地方使用file_get_function,但它给出了错误。这是哪里来的?

Connection time out 是什么意思?我检查了 SOF,但我越来越困惑。任何帮助将不胜感激!

谁能给个详细的解释或链接?

【问题讨论】:

  • 您的应用程序正在尝试连接到服务器并收到超时错误。?
  • 我该如何解决这个问题....
  • “这到底是从哪里来的” - 错误消息为您提供文件名和行号(文件:/usr/share/php/footer.php,行:11)...
  • 哎呀,我的意思是 file(''/usr/share/php/footer.php'); 而不是 file_get_contents - 但无论如何,输出显示该目录中有 这样的文件。也许您无法控制网页的这一部分(和文件系统),

标签: php codeigniter hosting file-get-contents


【解决方案1】:

这可能有两个主要原因:

  • 您的服务器无法解析域名(从 shell 尝试nslookup) - 如果这是问题所在,您可以尝试设置 Google 名称服务器(8.8.8.8、8.8.4.4)
  • 有防火墙限制,不允许从您的服务器进行入站/出站连接

您可以尝试使用 cURL 连接,也许这会有所帮助。

【讨论】:

    【解决方案2】:

    file_get_contents() 不处理慢速网络连接或获取远程文件的重定向。您可以使用允许自定义连接超时值的 fsockopen() 尝试使用 cURL

    【讨论】:

    • redirects - 默认情况下用于 file_get_contents(http:....) 的 http 包装器确实遵循重定向,请参阅 docs.php.net/manual/en/…
    【解决方案3】:

    php manual 中查看此提示

    如果启用了fopen wrappers,则可以使用此功能将 URL 用作文件名。有关如何执行的更多详细信息,请参阅 fopen() 指定文件名。请参阅支持的协议和包装器 链接到有关各种包装器具有哪些能力的信息, 关于它们的使用说明,以及关于它们的任何预定义变量的信息 可以提供。

    如果您的网站没有allow_url_fopen = On,那么此功能将不允许您使用网址

    【讨论】:

      猜你喜欢
      • 2011-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-09
      • 1970-01-01
      • 2015-10-19
      • 2017-02-01
      相关资源
      最近更新 更多