Kesalahan pengecekan dan penanganan adalah teman programmer. Periksa nilai yang dikembalikan dari inisialisasi dan pelaksanaan fungsi cURL. curl_error()dan curl_errno()akan berisi informasi lebih lanjut jika terjadi kegagalan:
try {
$ch = curl_init();
// Check if initialization had gone wrong*
if ($ch === false) {
throw new Exception('failed to initialize');
}
curl_setopt($ch, CURLOPT_URL, 'http://example.com/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
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));
}
/* Process $content here */
// Close curl handle
curl_close($ch);
} catch(Exception $e) {
trigger_error(sprintf(
'Curl failed with error #%d: %s',
$e->getCode(), $e->getMessage()),
E_USER_ERROR);
}
* Buku curl_init() manual menyatakan:
Mengembalikan pegangan cURL pada kesuksesan, FALSE pada kesalahan.
Saya telah mengamati fungsi untuk kembali FALSEsaat Anda menggunakan $urlparameternya dan domain tidak dapat diselesaikan. Jika parameter tidak digunakan, fungsi tersebut mungkin tidak akan pernah kembali FALSE. Bagaimanapun, selalu periksa, karena manual tidak dengan jelas menyatakan apa sebenarnya "kesalahan" itu.
curl_error()untuk detail kesalahan dan posting ini di sini.