Maison > développement back-end > tutoriel php > Pourquoi curl_exec() renvoie-t-il False et comment le résoudre ?

Pourquoi curl_exec() renvoie-t-il False et comment le résoudre ?

Susan Sarandon
Libérer: 2024-10-19 22:20:02
original
776 Les gens l'ont consulté

Why Does curl_exec() Return False and How to Troubleshoot It?

Dépannage de curl_exec() renvoyant False

Lors de l'utilisation de curl_exec(), il est essentiel de comprendre qu'il peut renvoyer false si des erreurs se produisent lors de l'initialisation. ou l'exécution. Pour déboguer le problème, implémentez la vérification et la gestion des erreurs.

Vérification et gestion des erreurs

  1. Vérifiez la valeur de retour de curl_init() :
<code class="php">if ($ch === false) {
    throw new Exception('Failed to initialize curl.');
}</code>
Copier après la connexion
  1. Définissez explicitement l'URL à l'aide de curl_setopt() :
<code class="php">curl_setopt($ch, CURLOPT_URL, 'http://example.com/');</code>
Copier après la connexion
  1. Vérifiez la valeur de retour de curl_exec() :
<code class="php">$content = curl_exec($ch);
if ($content === false) {
    throw new Exception(curl_error($ch), curl_errno($ch));
}</code>
Copier après la connexion
  1. Vérifiez le code de retour HTTP :
<code class="php">$httpReturnCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);</code>
Copier après la connexion

Exemple de code avec gestion des exceptions

<code class="php">try {
    $ch = curl_init();
    if ($ch === false) {
        throw new Exception('Failed to initialize curl.');
    }

    curl_setopt($ch, CURLOPT_URL, 'http://example.com/');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    $content = curl_exec($ch);
    if ($content === false) {
        throw new Exception(curl_error($ch), curl_errno($ch));
    }

    // Process $content here

} catch (Exception $e) {
    trigger_error(sprintf('Curl failed with error #%d: %s', $e->getCode(), $e->getMessage()), E_USER_ERROR);
} finally {
    if (is_resource($ch)) {
        curl_close($ch);
    }
}</code>
Copier après la connexion

En implémentant ces erreurs mécanismes de vérification, vous pouvez identifier et gérer la raison spécifique pour laquelle curl_exec() renvoie false et prendre les mesures appropriées.

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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal