Maison >développement back-end >tutoriel php >Comment puis-je empêcher la fin prématurée des requêtes Curl en PHP en définissant des délais d'attente ?

Comment puis-je empêcher la fin prématurée des requêtes Curl en PHP en définissant des délais d'attente ?

DDD
DDDoriginal
2024-12-08 22:49:09954parcourir

How Can I Prevent Prematurely Ending Curl Requests in PHP by Setting Timeouts?

Définition des délais d'attente dans curl pour PHP

Lorsque vous traitez des ensembles de données volumineux ou des réponses lentes des bases de données, il est crucial de définir des délais d'attente appropriés dans les requêtes curl. Dans cet article, nous aborderons le problème de la fin prématurée des requêtes curl et fournirons une explication complète sur la façon de définir correctement les délais d'attente.

Options de délai d'expiration de Curl

curl propose deux options de délai d'attente :

  • CURLOPT_CONNECTTIMEOUT : Spécifie le nombre maximum de secondes à attendre pour qu'une connexion soit établie. Définissez-le sur 0 pour une attente indéfinie.
  • CURLOPT_TIMEOUT : définit le nombre maximum de secondes pour permettre l'exécution d'une opération curl. Cela inclut le temps nécessaire à la connexion, au transfert de données et au traitement des en-têtes.

Exemple de code

Le code suivant montre comment définir correctement les délais d'attente :

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 400); // Timeout in seconds

Notez qu'il est important d'augmenter le temps d'exécution du script PHP car bien :

set_time_limit(0); // Infinite execution time

Documentation

Pour des informations plus détaillées, reportez-vous à la documentation PHP sur curl_setopt : http://www.php.net/manual/en /function.curl-setopt.php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn