在我的' page'页面上,当我在端口8000的url上使用file_get_contents时,我没有得到任何东西。
Like:
$geturl = file_get_contents('http://mfpradio.no-ip.org:8000/status.xsl');
print_r($geturl);
这是本地工作
' page'甚至不读取'print_r'后面的脚本。例如:
$geturl = file_get_contents('http://stackoverflow.com');
我试过curl,同样的问题。
我可以在我的' page'页面上播放我的流。
因此,看起来' page'阻塞了file_get_contents()
的端口'8000'。webshost这样做是正常的吗?
PHP有一个选项来阻止文件处理函数在URL上工作。出于安全考虑,托管公司通常会启用此选项。
找出这个标志的设置是什么——使用类似ini_get('allow_url_fopen')
的东西来找出它是否被允许。我猜它会被设置为不允许。
如果主机不允许,那么您将不得不使用替代方法(可能更复杂)来读取数据。通常的答案是使用CURL(尽管它可能是相当冗长的代码)。另外,CURL扩展也可能不可用)
为什么不用CURL
呢?
你确定服务器能到达那个页面吗?它应该与domain.com:port
请确保服务器http://mfpradio.no-ip.org:8000/端口(即8000)在服务器防火墙上打开作为输出端口以读取页面信息…
file_get_contents()尝试从该端口读取页面内容:)