【发布时间】:2011-01-31 11:00:55
【问题描述】:
我有以下sn-p的php代码
if($fp = fopen($url, 'r')) {
stream_set_timeout($fp, 1);
stream_set_blocking($fp, 0);
}
$info = stream_get_meta_data($fp);
我希望请求在 1 秒后超时。如果我在我正在阅读的$url 中添加一个sleep(20),它只会等待整个 20 秒并且永远不会超时。有没有更好的方法来使用fopen 进行超时?
如果我在该代码上方使用ini_set('default_socket_timeout',2),它会正确超时,但$info 然后变为空,所以理想情况下我想使用流函数。
【问题讨论】:
-
当连接超时时你期望 $info 是什么?