在我的' 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这样做是否正常?
答案 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()尝试从该端口读取页面内容:)