>  기사  >  백엔드 개발  >  PHP에서 컬 오류 메시지를 디버깅하는 방법

PHP에서 컬 오류 메시지를 디버깅하는 방법

coldplay.xixi
coldplay.xixi원래의
2020-08-17 10:27:384064검색

PHP에서 컬 오류 정보를 디버깅하는 방법: 1. [curl_errno] 및 [curl_error] 함수를 사용하여 각각 HTTP 오류 코드와 오류 범주를 반환합니다. 2. [CURLOPT_VERBOSE]를 true로 설정하고 다음과 같이 열리도록 설정합니다. 파일을 엽니다.

PHP에서 컬 오류 메시지를 디버깅하는 방법

PHP에서 컬 오류 메시지를 디버그하는 방법:

첫 번째 방법, 가장 먼저 사용할 수 있는 것은 curl_errnocurl_error입니다. 함수는 각각 HTTP 오류 코드와 오류 범주를 반환합니다. 예: curl_errnocurl_error 函数,分别返回 HTTP 的错误代码和错误类别。例如:

<?php
$ch = curl_init(&#39;http://example.com/&#39;);
curl_exec($ch);
if (curl_errno($ch)) {
    echo &#39;Curl error: &#39; . curl_error($ch);
}
curl_close($ch);
?>

其次,如果需要得到更详细的信息,可以用 curl_getinfo 函数。例如:

<?php
$ch = curl_init(&#39;http://example.com/&#39;);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_exec($ch);
if (!curl_errno($ch)) {
    print_r(curl_getinfo($ch));
}
curl_close($ch);
?>

其中设置 CURLINFO_HEADER_OUT 选项之后 curl_getinfo 函数返回的数组将包含 cURL 请求的 header 信息。而要看到回应的 header 信息可以在 curl_setopt 中设置 CURLOPT_HEADER 选项为 true。

curl_exec 函数执行成功时,将根据 CURLOPT_RETURNTRANSFER 选项的值处理回应的正文信息:如果为 true 将作为字符串返回,如果为 false 将直接输出。执行失败时结果为 FALSE。也就是说,如果执行失败(假设是 400 错误),从 curl_exec 函数的结果中没法看到回应的正文(里面可能包含更加具体的错误信息)。要看到回应正文,有两种方法。第一种方法是设置 400 为成功的代码,例子如下:

curl_setopt($ch, CURLOPT_FAILONERROR, false);
curl_setopt($ch, CURLOPT_HTTP200ALIASES, array(400));

第二种方法,是设置 CURLOPT_VERBOSE 为 true,同时将 CURLOPT_STDERRrrreee

두 번째로 더 자세한 정보가 필요한 경우 curl_getinfo 함수를 사용할 수 있습니다. 예:
rrreee

CURLINFO_HEADER_OUT 옵션을 설정한 후 cur_getinfo 함수에서 반환된 배열에는 cURL 요청의 헤더 정보가 포함됩니다. 응답 헤더 정보를 보려면 컬_setopt에서 CURLOPT_HEADER 옵션을 true로 설정하면 됩니다. curl_exec 함수가 성공적으로 실행되면 CURLOPT_RETURNTRANSFER 옵션의 값에 따라 응답 본문 정보가 처리됩니다. true인 경우 다음과 같이 반환됩니다. 문자열이며 false인 경우 직접 출력됩니다. 실행이 실패하면 결과는 FALSE입니다. 즉, 실행이 실패하면(400 오류라고 가정), 응답 텍스트(더 구체적인 오류 정보가 포함될 수 있음)를 컬_exec 함수의 결과에서 볼 수 없습니다. 응답 텍스트를 보는 방법에는 두 가지가 있습니다. 첫 번째 방법은 성공 코드를 400으로 설정하는 것입니다.
rrreee

두 번째 방법은 CURLOPT_VERBOSE를 true로 설정하고 CURLOPT_STDERR를 A로 설정하는 것입니다. fopen으로 파일을 열었습니다. 이러한 방식으로 cURL은 서버와의 모든 상호 작용 정보를 이 파일에 기록합니다. 🎜🎜🎜관련 학습 권장 사항: 🎜php 프로그래밍🎜(동영상) 🎜🎜🎜

위 내용은 PHP에서 컬 오류 메시지를 디버깅하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.