Việc kiểm tra và xử lý lỗi là bạn của lập trình viên. Kiểm tra các giá trị trả về của các hàm cURL đang khởi tạo và thực thi. curl_error()
và curl_errno()
sẽ chứa thêm thông tin trong trường hợp không thành công:
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);
}
* Các curl_init()
thủ quốc gia:
Trả về một xử lý cURL khi thành công, FALSE nếu có lỗi.
Tôi đã quan sát thấy hàm trả về FALSE
khi bạn đang sử dụng $url
tham số của nó và miền không thể được giải quyết. Nếu tham số không được sử dụng, hàm có thể không bao giờ trả về FALSE
. Tuy nhiên, hãy luôn kiểm tra nó vì sách hướng dẫn không nêu rõ ràng "lỗi" thực sự là gì.
curl_error()
Vui lòng tham khảo chi tiết lỗi và đăng những lỗi này ở đây.