Mengapa curl_exec() Kembali Palsu dan Bagaimana untuk Menyelesaikannya?

Susan Sarandon
Lepaskan: 2024-10-19 22:20:02
asal
628 orang telah melayarinya

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

Menyelesaikan masalah curl_exec() Mengembalikan Palsu

Apabila menggunakan curl_exec(), adalah penting untuk memahami bahawa ia boleh mengembalikan palsu jika ralat berlaku semasa permulaan atau pelaksanaan. Untuk nyahpepijat isu, laksanakan semakan dan pengendalian ralat.

Ralat Semakan dan Pengendalian

  1. Semak nilai pulangan curl_init():
<code class="php">if ($ch === false) {
    throw new Exception('Failed to initialize curl.');
}</code>
Salin selepas log masuk
  1. Tetapkan URL secara eksplisit menggunakan curl_setopt():
<code class="php">curl_setopt($ch, CURLOPT_URL, 'http://example.com/');</code>
Salin selepas log masuk
  1. Semak nilai pulangan curl_exec():
<code class="php">$content = curl_exec($ch);
if ($content === false) {
    throw new Exception(curl_error($ch), curl_errno($ch));
}</code>
Salin selepas log masuk
  1. Sahkan kod pemulangan HTTP:
<code class="php">$httpReturnCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);</code>
Salin selepas log masuk

Kod Contoh dengan Pengendalian Pengecualian

<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>
Salin selepas log masuk

Dengan melaksanakan ralat ini menyemak mekanisme, anda boleh mengenal pasti dan mengendalikan sebab khusus mengapa curl_exec() mengembalikan palsu dan mengambil tindakan yang sewajarnya.

Atas ialah kandungan terperinci Mengapa curl_exec() Kembali Palsu dan Bagaimana untuk Menyelesaikannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!