首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >file_get_contents超时

file_get_contents超时
EN

Stack Overflow用户
提问于 2012-04-17 18:11:51
回答 3查看 11.7K关注 0票数 1

我正在使用file_get_contents,并且我想要define a timeout。我试着通过创建一个这样的上下文来实现:

代码语言:javascript
复制
$timeout = array('http' => array('timeout' => 6));

$context = stream_context_create($timeout);

$xml = file_get_contents($hostName,false,$context);

但是它忽略了这个值。

EN

回答 3

Stack Overflow用户

发布于 2013-09-20 04:25:10

我想默认的超时设置是60秒。您可以将其更改为您想要的任何值。

代码语言:javascript
复制
<?php

$ctx=stream_context_create(array('http'=>
    array(
        'timeout' => 30 // 30 sec
    )
));

$conetnt = file_get_contents('http://example.com',false,$ctx);
var_dump($conetnt);
?>
票数 2
EN

Stack Overflow用户

发布于 2012-04-17 18:16:43

从PHP5.2.1开始,您可以指定timeout上下文选项并将上下文传递给file_get_contents()

代码语言:javascript
复制
ini_set('default_socket_timeout',    120);
票数 1
EN

Stack Overflow用户

发布于 2012-06-28 14:43:49

由于我仍然不能发表评论(并编辑或标记问题(作为重复的(?)可能在这种情况下不太合适),让我添加一个后续问题,并添加一个注释作为答案:

  • 当你说:我给超时分配了一个很小的值,尽管如此,file_get_contents返回了好的结果

您的意思是说,即使您设置了一个超时时间,比如说1秒,file_get_contents()也会花费更多的时间,并且不会超时?您是否有任何低级监控可用来区分“连接”和“读取”数据所需的时间?

  • ,因为正如Fanis在回答问题"PHP file_get_contents ignoring timeout?“时所说,如果您使用"file_get_contents()”(而不是低级套接字函数),则“连接”到远程服务器的时间不能通过可用的ini设置或明显的上下文条目来设置。您只需通过这些设置“读取”超时。

(我意识到这是一个老问题,但我在搜索过程中遇到了这两个问题,因为我也有同样的问题,所以我想我应该在它们之间建立链接)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10189232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档