V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
chuxuezhe
V2EX  ›  问与答

file_get_contents 设置 timeout 失效?

  •  
  •   chuxuezhe · 2015-07-06 14:26:08 +08:00 · 2039 次点击
    这是一个创建于 3221 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我在使用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) . '秒|';

    3 条回复    2015-07-08 19:11:52 +08:00
    feiyuanqiu
        1
    feiyuanqiu  
       2015-07-06 14:34:58 +08:00
    我记得好像是发送三秒接收三秒总共有6秒超时的样子...好久以前遇到的问题了,最后还是改成了curl来处理
    b821025551b
        2
    b821025551b  
       2015-07-06 18:28:43 +08:00
    改成curl吧,file_get_content在某些url无法访问的情况下设置超时也没什么用。
    chuxuezhe
        3
    chuxuezhe  
    OP
       2015-07-08 19:11:52 +08:00
    谢谢,curl是可以生效的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2271 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 05:11 · PVG 13:11 · LAX 22:11 · JFK 01:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.