curl_multi_close()

1. 定义

该函数关闭一组curl句柄,释放这些句柄所占用的所有资源。

2. 语法

curl_multi_close ( resource $mh ) : void

3. 参数说明

参数 可选性 数据类型 描述
$mh 必需 资源类型 通过函数curl_multi_init()打开的curl资源句柄

4. 示例

<?php

// curl_multi_close()
// 关闭一组curl句柄,释放这些句柄所占用的所有资源

$urls = [
    'http://loripsum.net/api/5/short/headers',
    'http://loripsum.net/api/2/short/a/b/i'
];
$mh = curl_multi_init();
foreach ($urls as $key => $value) {
    $ch[$key] = curl_init();
    curl_setopt($ch[$key], CURLOPT_URL, $value);
    curl_multi_add_handle($mh, $ch[$key]);
}

// 批处理
$running = null;
do {
    curl_multi_exec($mh, $running);// 逐个处理执行句柄
    curl_multi_select($mh);
} while ($running > 0);

// 移除批处理中的所有传输会话
foreach ($ch as $key => $value) {
    curl_multi_remove_handle($mh, $value);
}

// 关闭所有句柄
curl_multi_close($mh);

5. 延展阅读

  • curl_multi_init():创建一个可添加批量cURL传输会话的资源句柄
  • curl_close():关闭cURL会话,并释放所有资源,删除cURL句柄