在PHP中,可以使用stream_context_create函数创建一个包含超时设置的流上下文(stream context),然后将此上下文传递给stream_socket_client或stream_socket_server等函数来设置超时。以下是一个示例代码:
// 创建一个包含超时设置的流上下文
$context = stream_context_create([
'http' => [
'timeout' => 10, // 设置超时时间为10秒
],
]);
// 使用流上下文创建一个流
$stream = stream_socket_client('http://www.example.com', $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $context);
if ($stream === false) {
// 处理连接失败的情况
echo "Failed to connect to server: $errstr ($errno)";
} else {
// 读取数据或其他操作
$data = stream_get_contents($stream);
// 关闭流
fclose($stream);
}
在上面的示例中,使用stream_context_create函数创建一个包含超时设置的流上下文,然后将此上下文传递给stream_socket_client函数。在此示例中,超时时间设置为10秒。如果连接超时,将会返回false,并且可以通过$errno和$errstr获取错误信息。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:如何使用PHP stream_context_create