file_get_contents 设置 timeout 失效?

2015-07-06 14:26:08 +08:00
 chuxuezhe

我在使用file_get_contents进行获取内容的时候设置了超时时间3秒,但是在获取过程中,发现,有些请求远远超过这个值,代码如下:

$opts = array(
'http' => array(
'method' => "GET",
'timeout' => 3,
)
);

$context = stream_context_create($opts);
$t1 = time();
@$file_data = file_get_contents($url, FALSE, $context);
echo '|耗时:' . (time() - $t1) . '秒|';

2055 次点击
所在节点    问与答
3 条回复
feiyuanqiu
2015-07-06 14:34:58 +08:00
我记得好像是发送三秒接收三秒总共有6秒超时的样子...好久以前遇到的问题了,最后还是改成了curl来处理
b821025551b
2015-07-06 18:28:43 +08:00
改成curl吧,file_get_content在某些url无法访问的情况下设置超时也没什么用。
chuxuezhe
2015-07-08 19:11:52 +08:00
谢谢,curl是可以生效的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/203660

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX