(PHP 8 >= 8.2.0)
curl_upkeep — Выполняет любые проверки работоспособности соединений
Доступен при сборке с libcurl >= 7.62.0.
Некоторые протоколы поддерживают механизмы "поддержания соединения". Эти механизмы обычно передают небольшой объем трафика по существующим соединениям, чтобы сохранить их. Это может предотвратить закрытие соединений, например, из-за слишком усердных файерволов.
В настоящее время функция поддержания соединения доступна только для соединений HTTP/2. Для поддержания соединения обычно отправляется небольшой объем трафика. HTTP/2 поддерживает соединение, отправляя фрагмент HTTP/2 PING.
Функция возвращает true
, если выполнилась успешно, или false
, если возникла ошибка.
Пример #1 Пример использования curl_upkeep()
<?php
$url = "https://example.com";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_2_0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_UPKEEP_INTERVAL_MS, 200);
if (curl_exec($ch)) {
usleep(300);
var_dump(curl_upkeep($ch));
}
curl_close($ch);
?>