Định nghĩa.
curl_errno – sẽ trả về mã lỗi (dạng số) của một CURL.
Cú pháp.
Cú pháp:
curl_errno ( resource $ch ) : resource
Trong đó:
$ch Một xử lý cURL được trả về bởi curl_init ()
Giá trị trả về:
Trả về số lỗi hoặc 0 (không) nếu không có lỗi xảy ra.
Ví dụ.
code:
<?php // Tạo một tay cầm cuộn tròn đến một vị trí không tồn tại $ch = curl_init('http://404.php.net/'); // Execute curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_exec($ch); // Kiểm tra xem có lỗi nào xảy ra không if(curl_errno($ch)) { echo 'Curl error: ' . curl_error($ch); } // Close handle curl_close($ch); ?>
Hàm liên quan.
- curl_error() – Trả về một chuỗi có chứa lỗi cuối cùng cho phiên hiện tại
- » Curl error codes
Thông tin thêm.
- Một số lỗi
<?php $error_codes=array( [1] => 'CURLE_UNSUPPORTED_PROTOCOL', [2] => 'CURLE_FAILED_INIT', [3] => 'CURLE_URL_MALFORMAT', [4] => 'CURLE_URL_MALFORMAT_USER', [5] => 'CURLE_COULDNT_RESOLVE_PROXY', [6] => 'CURLE_COULDNT_RESOLVE_HOST', [7] => 'CURLE_COULDNT_CONNECT', [8] => 'CURLE_FTP_WEIRD_SERVER_REPLY', [9] => 'CURLE_REMOTE_ACCESS_DENIED', [11] => 'CURLE_FTP_WEIRD_PASS_REPLY', [13] => 'CURLE_FTP_WEIRD_PASV_REPLY', [14]=>'CURLE_FTP_WEIRD_227_FORMAT', [15] => 'CURLE_FTP_CANT_GET_HOST', [17] => 'CURLE_FTP_COULDNT_SET_TYPE', [18] => 'CURLE_PARTIAL_FILE', [19] => 'CURLE_FTP_COULDNT_RETR_FILE', [21] => 'CURLE_QUOTE_ERROR', [22] => 'CURLE_HTTP_RETURNED_ERROR', [23] => 'CURLE_WRITE_ERROR', [25] => 'CURLE_UPLOAD_FAILED', [26] => 'CURLE_READ_ERROR', [27] => 'CURLE_OUT_OF_MEMORY', [28] => 'CURLE_OPERATION_TIMEDOUT', [30] => 'CURLE_FTP_PORT_FAILED', [31] => 'CURLE_FTP_COULDNT_USE_REST', [33] => 'CURLE_RANGE_ERROR', [34] => 'CURLE_HTTP_POST_ERROR', [35] => 'CURLE_SSL_CONNECT_ERROR', [36] => 'CURLE_BAD_DOWNLOAD_RESUME', [37] => 'CURLE_FILE_COULDNT_READ_FILE', [38] => 'CURLE_LDAP_CANNOT_BIND', [39] => 'CURLE_LDAP_SEARCH_FAILED', [41] => 'CURLE_FUNCTION_NOT_FOUND', [42] => 'CURLE_ABORTED_BY_CALLBACK', [43] => 'CURLE_BAD_FUNCTION_ARGUMENT', [45] => 'CURLE_INTERFACE_FAILED', [47] => 'CURLE_TOO_MANY_REDIRECTS', [48] => 'CURLE_UNKNOWN_TELNET_OPTION', [49] => 'CURLE_TELNET_OPTION_SYNTAX', [51] => 'CURLE_PEER_FAILED_VERIFICATION', [52] => 'CURLE_GOT_NOTHING', [53] => 'CURLE_SSL_ENGINE_NOTFOUND', [54] => 'CURLE_SSL_ENGINE_SETFAILED', [55] => 'CURLE_SEND_ERROR', [56] => 'CURLE_RECV_ERROR', [58] => 'CURLE_SSL_CERTPROBLEM', [59] => 'CURLE_SSL_CIPHER', [60] => 'CURLE_SSL_CACERT', [61] => 'CURLE_BAD_CONTENT_ENCODING', [62] => 'CURLE_LDAP_INVALID_URL', [63] => 'CURLE_FILESIZE_EXCEEDED', [64] => 'CURLE_USE_SSL_FAILED', [65] => 'CURLE_SEND_FAIL_REWIND', [66] => 'CURLE_SSL_ENGINE_INITFAILED', [67] => 'CURLE_LOGIN_DENIED', [68] => 'CURLE_TFTP_NOTFOUND', [69] => 'CURLE_TFTP_PERM', [70] => 'CURLE_REMOTE_DISK_FULL', [71] => 'CURLE_TFTP_ILLEGAL', [72] => 'CURLE_TFTP_UNKNOWNID', [73] => 'CURLE_REMOTE_FILE_EXISTS', [74] => 'CURLE_TFTP_NOSUCHUSER', [75] => 'CURLE_CONV_FAILED', [76] => 'CURLE_CONV_REQD', [77] => 'CURLE_SSL_CACERT_BADFILE', [78] => 'CURLE_REMOTE_FILE_NOT_FOUND', [79] => 'CURLE_SSH', [80] => 'CURLE_SSL_SHUTDOWN_FAILED', [81] => 'CURLE_AGAIN', [82] => 'CURLE_SSL_CRL_BADFILE', [83] => 'CURLE_SSL_ISSUER_ERROR', [84] => 'CURLE_FTP_PRET_FAILED', [84] => 'CURLE_FTP_PRET_FAILED', [85] => 'CURLE_RTSP_CSEQ_ERROR', [86] => 'CURLE_RTSP_SESSION_ERROR', [87] => 'CURLE_FTP_BAD_FILE_LIST', [88] => 'CURLE_CHUNK_FAILED'); ?>
- Bạn có thể lấy đoạn code dưới đây là một đoạn code mẫu.
<?php $ch = array(); $ch[0] = curl_init(); curl_setopt($ch[0], CURLOPT_URL, 'http://beengo.net/'); curl_setopt($ch[0], CURLOPT_HEADER, 0); curl_setopt($ch[0], CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch[0], CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch[0], CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); $ch[1] = curl_copy_handle($ch[0]); curl_setopt($ch[1], CURLOPT_URL, 'http://beengo.net/cells/list'); $ch[2] = curl_copy_handle($ch[0]); curl_setopt($ch[2], CURLOPT_URL, 'http://beengo.net/cells/list?q=travel'); /* And so on, when you need to get number of pages with same parameters... */ ?
- Xin lưu ý một số lỗi có nhiều hơn một hằng số
[CURLE_FTP_PARTIAL_FILE] 18 [CURLE_PARTIAL_FILE] 18 [CURLE_HTTP_NOT_FOUND] 22 [CURLE_HTTP_RETURNED_ERROR] 22 [CURLE_OPERATION_TIMEDOUT] 28 [CURLE_OPERATION_TIMEOUTED] 28 [CURLE_BAD_DOWNLOAD_RESUME] 36 [CURLE_FTP_BAD_DOWNLOAD_RESUME] 36
- Lưu ý rằng bạn có thể phát hiện lỗi bằng cách sử dụng curl_multi_info_read () trong vòng lặp curl_multi_exec () không hiển thị sau này bằng cách sử dụng curl_errno (). Điều này có vẻ đặc biệt đúng với các lỗi kết nối.
Các bạn bấm đây php.net. để xem chi tiết hơn
Hi vọng với bài viết này, bạn đã hiểu rõ ứng dụng của hàm curl_errno() trong PHP. Nếu bạn thấy bài viết hay và có ý nghĩa hãy like và chia sẻ bài viết này để mọi người cùng nhau học tập nhé. Cảm ơn các bạn đã ghé thăm codetutam.com