file_get_contents和端口8000

时间:2012-12-20 22:07:55

标签: php port file-get-contents

在我的' ipage'页面,当我在端口8000的网址上使用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');

我试过卷曲,同样的问题。

我可以在我的' ipage'页。

所以它看起来像是' ipage'阻止端口' 8000'为file_get_contents()。 webshost这样做是否正常?

3 个答案:

答案 0 :(得分:2)

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

找出此标志的设置 - 使用类似ini_get('allow_url_fopen')的内容来确定是否允许这样做。我的猜测是,它将被设置为不允许它。

如果主机不允许,那么您将不得不使用替代方法(可能更复杂)来读取数据。通常的答案是使用CURL(尽管它可能是非常冗长的代码。此外,CURL扩展也可能无法使用)

答案 1 :(得分:0)

为什么不使用CURL

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

一起使用

答案 2 :(得分:-1)

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

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