Menyelesaikan masalah curl_exec() Nilai Pulangan Palsu
Dalam isu ini, pengguna mengalami nilai pulangan palsu yang tidak dijangka daripada curl_exec() secara ringkas coretan kod yang bertujuan untuk mendapatkan semula kandungan tapak web.
Untuk menangani masalah ini, adalah penting untuk memasukkan pemeriksaan dan pengendalian ralat ke dalam kod anda. curl_exec() mungkin kembali palsu kerana ralat permulaan atau kegagalan pelaksanaan.
Untuk nyahpepijat ini dengan berkesan, gunakan fungsi curl_error() dan curl_errno(). Utiliti ini menyediakan mesej ralat terperinci dan kod ralat yang sepadan sekiranya berlaku kegagalan.
Berikut ialah contoh cara melaksanakan pengendalian dan semakan ralat:
<code class="php">try { $ch = curl_init(); // Check if initialization had gone wrong if ($ch === false) { throw new Exception('failed to initialize'); } // Set options and execute curl_setopt(/* ... */); $content = curl_exec($ch); // Check the return value of curl_exec(), too if ($content === false) { throw new Exception(curl_error($ch), curl_errno($ch)); } } catch(Exception $e) { trigger_error(sprintf( 'Curl failed with error #%d: %s', $e->getCode(), $e->getMessage()), E_USER_ERROR); } finally { // Close curl handle unless it failed to initialize if (is_resource($ch)) { curl_close($ch); } }</code>
Cerapan Tambahan tentang curl_init ()
Manual curl_init() dengan jelas menyatakan bahawa ia mengembalikan FALSE pada ralat. Perlu diingat bahawa fungsi itu mungkin mengembalikan FALSE apabila menggunakan parameter $url jika domain tidak dapat diselesaikan. Walau bagaimanapun, jika parameter dibiarkan tidak digunakan, fungsi tersebut kurang berkemungkinan untuk mengembalikan FALSE.
Walau bagaimanapun, sentiasa disyorkan untuk menyemak nilai pulangan curl_init() untuk mengelakkan sebarang isu yang mungkin berlaku. Pemeriksaan dan pengendalian ralat adalah amalan penting dalam pengaturcaraan, terutamanya apabila bekerja dengan API luaran atau perpustakaan pihak ketiga.
Atas ialah kandungan terperinci Mengapakah curl_exec() Kadang-kadang Kembali Palsu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!