
curl_multi_info_read 함수는 다중 요청을 처리할 때 발생할 수 있는 오류를 확인하는 데 사용됩니다. 이 함수는 다음 정보를 반환합니다.
- CURLM_INFO_CONNECT_TIMEOUT (연결 타임아웃)
- CURLM_INFO_PRETRANSFER_TIME (전송 전 준비 시간)
- CURLM_INFO_STARTTRANSFER_TIME (전송 시작 시간)
- CURLM_INFO_REDIRECT_TIME (리다이렉션 시간)
- CURLM_INFO_REDIRECT_COUNT (리다이렉션 횟수)
- CURLM_INFO_TOTAL_TIME (전체 시간)
- CURLM_INFO_NAMELOOKUP_TIME (이름 조회 시간)
- CURLM_INFO_CONNECT_TIME (연결 시간)
- CURLM_INFO_APPCONNECT_TIME (응용 프로그램 연결 시간)
- CURLM_INFO_PRETRANSFER_TIME (전송 전 준비 시간)
- CURLM_INFO_SIZE_UPLOAD (업로드 크기)
- CURLM_INFO_SIZE_DOWNLOAD (다운로드 크기)
- CURLM_INFO_SPEED_DOWNLOAD (다운로드 속도)
- CURLM_INFO_SPEED_UPLOAD (업로드 속도)
- CURLM_INFO_HEADER_SIZE (헤더 크기)
- CURLM_INFO_REQUEST_SIZE (요청 크기)
- CURLM_INFO_SSL_VERIFYRESULT (SSL 검증 결과)
- CURLM_INFO_CONTENT_LENGTH_DOWNLOAD (다운로드 콘텐츠 크기)
- CURLM_INFO_CONTENT_LENGTH_UPLOAD (업로드 콘텐츠 크기)
- CURLM_INFO_STARTTRANSFER_TIME (전송 시작 시간)
- CURLM_INFO_REDIRECT_TIME (리다이렉션 시간)
- CURLM_INFO_REDIRECT_COUNT (리다이렉션 횟수)
- CURLM_INFO_PRIVATE (사설)
다음은 curl_multi_info_read 함수를 사용하여 오류를 확인하는 방법의 예제입니다.
#hostingforum.kr
php
$mh = curl_multi_init();
$ch1 = curl_init('http://example.com');
$ch2 = curl_init('http://example.com');
curl_multi_add_handle($mh, $ch1);
curl_multi_add_handle($mh, $ch2);
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
while ($active && $mrc == CURLM_OK) {
if (curl_multi_select($mh) != -1) {
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
}
}
$multi_info = curl_multi_info_read($mh);
if ($multi_info['msg'] == CURLM_INFO_OK) {
echo "성공";
} else {
echo "오류 발생: " . $multi_info['msg'];
}
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);
이 예제에서는 curl_multi_info_read 함수를 사용하여 다중 요청을 처리할 때 발생할 수 있는 오류를 확인합니다. 만약 오류가 발생하면 오류 메시지를 출력합니다.
2025-03-13 14:03