array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'fr', ), 'this' => array ( 0 => 'function.curl_upkeep.php', 1 => 'curl_upkeep', ), 'up' => array ( 0 => 'ref.curl.php', 1 => 'Fonctions cURL', ), 'prev' => array ( 0 => 'function.curl-unescape.php', 1 => 'curl_unescape', ), 'next' => array ( 0 => 'function.curl-version.php', 1 => 'curl_version', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'fr', 'path' => 'reference/curl/functions/curl-upkeep.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 8 >= 8.2.0)
curl_upkeep — Effectue les contrôles de maintenance de la connexion
Disponible si construit avec libcurl >= 7.62.0.
Certains protocoles ont des mécanismes de "maintien de la connexion". Ces mécanismes envoient généralement du trafic sur les connexions existantes afin de les maintenir en vie ; Cela permet par exemple d'éviter que les connexions ne soient fermées à cause de pare-feu trop zélés.
Le maintien de la connexion n'est actuellement disponible que pour les connexions HTTP/2. Une petite quantité de trafic est généralement envoyée pour maintenir une connexion en vie. HTTP/2 maintient sa connexion en envoyant une trame HTTP/2 PING.
Exemple #1 Exemple de 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);
?>