curl_multi_close
(PHP 5)
curl_multi_close — Закрывает набор cURL дескрипторов
Описание
void curl_multi_close
( resource
$mh
)Закрывает набор cURL дескрипторов.
Возвращаемые значения
Эта функция не возвращает значения после выполнения.
Примеры
Пример #1 Пример использования curl_multi_close()
Этот пример создаст два дескриптора cURL, добавит их в набор дескрипторов, а затем запустит их паралелльно.
<?php
// создаем оба ресурса cURL
$ch1 = curl_init();
$ch2 = curl_init();
// устанавливаем URL и другие соответствующие опции
curl_setopt($ch1, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);
//создаем набор дескрипторов cURL
$mh = curl_multi_init();
//добавляем два дескриптора
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);
$running=null;
//запускаем дескрипторы
do {
curl_multi_exec($mh,$running);
} while ($running > 0);
//закрываем все дескрипторы
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);
?>
Смотрите также
- curl_multi_init() - Создает набор cURL-дескрипторов
- curl_close() - Завершает сеанс cURL
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Другие службы
- Клиентская библиотека работы с URL
- curl_close
- curl_copy_handle
- curl_errno
- curl_error
- curl_escape
- curl_exec
- curl_file_create
- curl_getinfo
- curl_init
- curl_multi_add_handle
- curl_multi_close
- curl_multi_exec
- curl_multi_getcontent
- curl_multi_info_read
- curl_multi_init
- curl_multi_remove_handle
- curl_multi_select
- curl_multi_setopt
- curl_multi_strerror
- curl_pause
- curl_reset
- curl_setopt_array
- curl_setopt
- curl_share_close
- curl_share_init
- curl_share_setopt
- curl_strerror
- curl_unescape
- curl_version
Коментарии
curl_multi_close seems to close the curl_multi handle, but not each of the individual curl handles. at least in the PHP 5.3 development build I am using, these each need to be closed manually.
I would recommend the final lines of this example be updated to:
<?php
//close the handles
curl_multi_remove_handle($mh, $ch1);
curl_close($ch1);
curl_multi_remove_handle($mh, $ch2);
curl_close($ch2);
curl_multi_close($mh);
?>