【发布时间】:2014-04-22 05:25:02
【问题描述】:
我使用 file_get_contents() 从外部 URL 获取信息。它之前在服务器上运行良好。但是现在,不知何故,它无法在服务器上运行。 (代码没有变化。)它一直给我错误:failed to open stream: Connection timed out。
我已经在localhost 上对其进行了测试,并且效果很好。我检查了allow_url_fopen选项,它仍然是On。
那么,可能是什么原因?
【问题讨论】:
-
可能是源服务器阻止了您的主机?
-
@SajithNair 感谢您的回复。哦,好吧......那么有什么方法可以检查这是否真的发生了?
-
你有 ssh 访问你的服务器吗?
-
另一个原因可能是
php.ini中的超时设置。检查您的php.ini中default_socket_timeout的值。您也可以通过在您的 php 代码中提供ini_set('default_socket_timeout', 900);来覆盖它(以防您的超时时间很低并且您正在尝试访问一个大文件) -
好吧,恐怕我没有 ssh 访问权限。而且我刚刚尝试设置超时设置,但无论我使用
file_get_contents还是cURL,它都不起作用。我只是尝试访问像Google这样的其他网站,并且工作正常。所以我猜很有可能是目标站点屏蔽了主机……
标签: php file-get-contents