>  기사  >  백엔드 개발  >  PHP 인터페이스 시간 초과를 처리하는 방법

PHP 인터페이스 시간 초과를 처리하는 방법

(*-*)浩
(*-*)浩원래의
2019-09-25 11:15:363637검색

일반적으로 HTTP에 액세스하는 방법에는 주로 컬, 소켓, file_get_contents() 및 기타 방법이 있습니다.

상대방 서버가 응답하지 않으면 비극에 빠지게 됩니다. 서버 전체를 죽이기 쉬우므로 http 접속 시 타임아웃 문제도 고려해야 합니다.

PHP 인터페이스 시간 초과를 처리하는 방법

[CURL 액세스 HTTP]

CURL은 고성능 및 일부 동시성 지원 기능을 갖춘 HTTP 프로토콜 인터페이스에 액세스하기 위해 일반적으로 사용되며 신뢰할 수 있는 lib 라이브러리입니다. (추천 학습: PHP 프로그래밍 입문부터 숙련까지)

cURL 확장을 사용하여 시간 초과 제어를 처리하자

시간 초과를 보다 정확하게 처리하려면 연결 시간 초과를 설정하고 읽을 수 있는 cURL 확장을 사용하세요. 시간 초과를 가져옵니다(CURLOPT_TIMEOUTCURLOPT_CONNECTTIMEOUT).

HTTP 인터페이스가 밀리초 수준으로 반환되도록 제어하려면 CURLOPT_TIMEOUT_MS 및 CURLOPT_CONNECTTIMEOUT_M 상수를 사용할 수도 있습니다.

이 두 상수를 사용하는 경우 컬_setopt($ch, CURLOPT_NOSIGNAL, 1);

을 설정해야 합니다. cURL 확장 메커니즘은 매우 특별합니다. 지정된 읽기 시간. 그러면 호출이 종료되고 프로그램은 오류를 보고하지 않습니다

코드를 통해 살펴보세요:

function e_curl() {
    global $url;
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_NOSIGNAL, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 3);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1);
    $response = curl_exec($ch);
    if ($response === false) {
        $info = curl_getinfo($ch);
        if ($info['http_code'] === 0) {
        return false;
        }
    }
    return true;}e_curl();

위 내용은 PHP 인터페이스 시간 초과를 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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