我有以下 php 代码片段
if($fp = fopen($url, 'r')) {
stream_set_timeout($fp, 1);
stream_set_blocking($fp, 0);
}
$info = stream_get_meta_data($fp);
我希望请求在 1 秒后超时。如果我sleep(20)
在$url
我正在阅读的内容中放入一个,它只会等待整个 20 秒并且永远不会超时。有没有更好的方法来做超时fopen
?
如果我ini_set('default_socket_timeout',2)
在上面使用该代码,它会正确超时但$info
随后变为空,所以理想情况下我想使用流函数。