【问题标题】:file_get_contents and port 8000file_get_contents 和端口 8000
【发布时间】:2012-12-20 22:07:55
【问题描述】:

在我的“ipage”页面上,当我在端口为 8000 的 url 上使用 file_get_contents 时,我什么也得不到。

喜欢:

$geturl = file_get_contents('http://mfpradio.no-ip.org:8000/status.xsl');
print_r($geturl);

这是在本地工作。

'ipage' 甚至不读取'print_r' 之后的脚本。 它适用于,例如:

$geturl = file_get_contents('http://stackoverflow.com');

我试过 curl,同样的问题。

我可以在我的“ipage”页面上播放我的流。

所以看起来“ipage”正在阻止file_get_contents() 的端口“8000”。 webshost这样做正常吗?

【问题讨论】:

  • 不知道什么是正常的,但您可以联系您的主机支持,询问他们允许在哪些端口上进行通信。
  • 你试过使用 fsockopen() 和类似的函数吗?

标签: php port file-get-contents


【解决方案1】:

PHP 有一个选项可以阻止文件处理函数在 URL 上工作。出于安全原因,托管公司通常会启用此选项。

找出这个标志的设置是什么——使用ini_get('allow_url_fopen')之类的东西来确定它是否被允许。我的猜测是它会被设置为不允许。

如果主机不允许,那么您将不得不使用另一种方法(可能更复杂)来读取数据。通常的答案是使用 CURL(尽管它可能是相当冗长的代码。而且 CURL 扩展也可能不可用)

【讨论】:

    【解决方案2】:

    为什么不使用CURL

    您确定服务器可以访问该页面吗?它应该与 domain.com:port 一起使用

    【讨论】:

    • 是的,服务器可以访问它。服务器可以在那里播放流,如果有链接,它就可以到达。我试过卷曲。在本地工作,如果链接没有端口 8000,则在“ipage”中工作。
    【解决方案3】:

    请确保服务器 http://mfpradio.no-ip.org:8000/ 端口,即 8000 在您的服务器防火墙上作为传出端口打开以读取页面信息...

    file_get_contents() 尝试从该端口读取页面内容:)

    【讨论】:

      猜你喜欢
      • 2018-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-24
      • 2017-03-31
      • 1970-01-01
      • 2021-02-01
      • 2013-10-25
      相关资源
      最近更新 更多