Hàm curl_errno() trong PHP

19/09/2020 - lượt xem
Chia sẻ
 
Rate this post

Đị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.

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

    Liên hệ với chúng tôi

    Để lại thông tin để nhận được các bài viết khác

    Rate this post

    Xem thêm nhiều bài tin mới nhất về Kiến thức

    Xem thêm