curl_upkeep

Performs any connection upkeep checks

&reftitle.description; `bool` `curl_upkeep` `CurlHandle` `handle`

Available if built against libcurl >= 7.62.0.

Some protocols have "connection upkeep" mechanisms. These mechanisms usually send some traffic on existing connections in order to keep them alive; this can prevent connections from being closed due to overzealous firewalls, for example.

Connection upkeep is currently available only for HTTP/2 connections. A small amount of traffic is usually sent to keep a connection alive. HTTP/2 maintains its connection by sending a HTTP/2 PING frame.

&reftitle.parameters;

&curl.ch.description;
&reftitle.returnvalues;

&return.success;

&reftitle.examples;

### `curl_upkeep` example

    <?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);
    ?>

&reftitle.seealso;

- `curl_init`