从服务器读取内容时连接超时

时间:2014-10-13 10:38:34

标签: php file file-get-contents

嗨,这就是我想要做的事情。

$contents = file_get_contents('http://123.34.56.123:3000/?location=Example'); //Not the original ip 
//Node script running on port 3000 

在localhost上一切正常,当我直接从浏览器访问这个URL但在我的网络服务器上我收到此错误

file_get_contents(http://123.34.56.123:3000/?location=Example) Failed to open stream: Connection timed out in ....

我尝试使用curl,套接字和文件流进行连接,但是获得连接的所有内容都已超时,尽管它在我的本地服务器上工作正常

我还使用了ini_set('max_execution_time', 300);,但它没有任何帮助

注意:file_get_contents('http://www.google.com');在Web服务器上正常工作

任何人都可以帮助我理解为什么我会收到此错误?我已经尝试了几乎所有我能解决这个问题的方法。

2 个答案:

答案 0 :(得分:1)

首先,您需要检查您从资源获取的内容是否已编码,表示内容是否使用JSON编码,然后您需要使用json脚本对其进行解码,之后您将能够得到内容..

还要检查资源URL和您正在使用的服务器的端口。 如果您的端口3000被阻止,那么它也无法正常工作。

我虽然会帮助你。

答案 1 :(得分:0)

似乎我正在使用的服务器阻塞端口3000上的连接,并且它完全合理,因为通常web主机仅使用80和443端口进行i / o连接。我联系了我的网络主机,他们解锁了3000端口,现在它工作正常。