La fonction curl_close est utilisée pour fermer la session Curl actuelle et libérer toutes les ressources liées à la session. Après la fermeture de la session, vous ne pouvez plus envoyer de demandes via la poignée de session. Curl_close est généralement appelé après avoir terminé l'opération Curl, garantissant que les ressources sont nettoyées et que les fuites de mémoire sont évitées.
Exemple d'utilisation :
$ch = curl_init();
// installation cURL Options
curl_setopt($ch, CURLOPT_URL, "https://gitbox.net/api/example");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// mettre en œuvre cURL demander
$response = curl_exec($ch);
// fermeture cURL Session
curl_close($ch);
Dans l'exemple ci-dessus, nous initialisons d'abord une session Curl via Curl_init . L'URL demandée et les options de transfert de retour sont ensuite définies, et la demande est exécutée via CURL_EXEC . Lorsque toutes les opérations sont terminées, utilisez Curl_close pour fermer la session et libérer la ressource.
Après avoir appelé curl_close , la poignée Curl devient invalide et ne peut plus être utilisée. Si vous essayez d'utiliser à nouveau la poignée après la fermeture de la session, une erreur sera causée.
Contrairement à Curl_close , la fonction Curl_Reset ne ferme pas la session Curl, mais la réinitialise à son état initial. Après avoir appelé CURL_RESET , toutes les options (telles que l'URL, la méthode de demande, les données, etc.) de la session Curl seront effacées et restaurées à la valeur par défaut. Cette fonction vous permet de réinitialiser une nouvelle demande en utilisant la même poignée de session sans avoir à réinitialiser une nouvelle session Curl.
Exemple d'utilisation :
$ch = curl_init();
// installation cURL Options
curl_setopt($ch, CURLOPT_URL, "https://gitbox.net/api/example1");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// mettre en œuvre第一个demander
$response1 = curl_exec($ch);
// Réinitialiser cURL Session
curl_reset($ch);
// installation新的 cURL Options
curl_setopt($ch, CURLOPT_URL, "https://gitbox.net/api/example2");
// mettre en œuvre第二个demander
$response2 = curl_exec($ch);
// fermeture cURL Session
curl_close($ch);
Dans cet exemple, nous initialisons une session Curl via Curl_Init et exécutons la première demande. Après avoir exécuté la première demande, nous avons effacé les paramètres précédents via CURL_RESET , puis réinitialisons la nouvelle URL et d'autres options pour effectuer la deuxième demande. De cette façon, Curl_Reset nous permet de réutiliser la même session sans réinitialiser la session Curl.
Bien que Curl_close et Curl_Reset soient des fonctions utilisées pour gérer les sessions Curl, elles se comportent différemment:
Session de fermeture vs session de réinitialisation :
Curl_close est utilisé pour fermer complètement la session Curl, libérer toutes les ressources pertinentes et ne peut pas continuer à utiliser la session après cela.
CURL_RESET est utilisé pour réinitialiser la session, ne publie pas de ressources, mais efface uniquement les options de définition, permettant à la même poignée de session de continuer à être utilisée.
Cycle de vie de session :
Curl_close est la fin du cycle de vie de la session Curl et convient aux ressources de nettoyage une fois toutes les opérations terminées.
CURL_RESET convient aux options de session de réinitialisation lorsque plusieurs demandes sont effectuées dans la même session pour éviter l'initialisation répétée de plusieurs sessions Curl.
Considérations de performance :
Si plusieurs demandes sont requises et que la configuration de chaque demande est différente, l'utilisation de Curl_Reset peut éviter les appels fréquents vers Curl_Init et Curl_close , améliorant les performances.
Si vous effectuez une demande qu'une seule fois et que vous n'avez pas besoin de réutiliser la session, vous devez utiliser Curl_close pour libérer la ressource.
Utilisez CURL_CLOSE : Lorsque vous terminez une demande et que vous n'avez plus besoin de continuer à utiliser la session, Curl_close doit être appelé pour fermer la session et libérer des ressources. Généralement appelé immédiatement après la fin du script ou après la demande.
Utilisez CURL_RESET : Lorsque vous devez utiliser la même poignée de session plusieurs fois pour différentes demandes, vous pouvez utiliser CURL_RESET pour réinitialiser les options de session, ce qui peut éviter d'appeler Curl_init et Curl_close à chaque fois, améliorant l'efficacité du code.