IT박스

PHP : 기본 cURL 제한 시간 값

itboxs 2020. 12. 11. 07:57
반응형

PHP : 기본 cURL 제한 시간 값


기본 PHP cURL 제한 시간 값은 무엇입니까? 코딩에서 가치를 얻을 수 있습니까?


기본값은 다음과 같습니다.

  • CURLOPT_FTP_RESPONSE_TIMEOUT : 무기한
  • CURLOPT_TIMEOUT : 무기한
  • CURLOPT_TIMEOUT_MS : 무기한
  • CURLOPT_CONNECTTIMEOUT : 300 초
  • CURLOPT_CONNECTTIMEOUT_MS : 무기한
  • CURLOPT_ACCEPTTIMEOUT_MS : 60 초

이전 답변 (참고 용) :

내 이해는 CURL이 CURLOPT_TIMEOUT/로 재정의되지 않는 한 default_socket_timeout을 준수한다는 것입니다 CURLOPT_CONNECTTIMEOUT.

$socket_timeout = ini_get('default_socket_timeout'); // timeout in seconds

말하는 시간 제한 설정에 따라 다릅니다.

cURL은 연결 시간 제한 설정에 특정한 다양한 옵션을 제공합니다. 이러한 옵션 중 일부에는 제한이 설정되어 있고 다른 옵션은 전송에 무기한 시간이 걸릴 수 있습니다. 기본 설정이있는 값과없는 값을 이해하려면 libcurl의 curl_easy_setopt()기능 을 살펴보아야 합니다. http://curl.haxx.se/libcurl/c/curl_easy_setopt.html

libcurl은 다음과 같은 연결 시간 초과 특정 설정을 나열합니다.

  • CURLOPT_FTP_RESPONSE_TIMEOUT : 기본값 없음 (무한)
  • CURLOPT_TIMEOUT : 기본값 없음 (무기한)
  • CURLOPT_TIMEOUT_MS : 기본값 없음 (무기한)
  • CURLOPT_CONNECTTIMEOUT : 기본값은 300 초입니다.
  • CURLOPT_CONNECTTIMEOUT_MS : 기본값 없음
  • CURLOPT_ACCEPTTIMEOUT_MS : 기본값은 60000ms입니다.

PHP 소스 코드는 위의 기본 설정 인 https://github.com/php/php-src/blob/master/ext/curl/interface.c를 재정의하지 않습니다 . PHP 바인딩이 재정의하는 다소 관련이있는 유일한 매개 변수 CURLOPT_DNS_CACHE_TIMEOUT는 기본값을 60 초에서 120 초로 변경하는 것입니다. https://github.com/php/php-src/blob/a0e3ca1c986681d0136ce4550359ecee2826a80c/ext/curl/interface.c#L1926

다른 답변 중 하나는 PHP가 ini 설정에 CURLOPT_TIMEOUT지정된 값으로 설정된다는 것입니다 default_socket_timeout. 이 주장을 뒷받침 할 PHP 소스 코드를 찾을 수 없었고 default_socket_timeout, 1 초 설정으로 매우 큰 파일을 다운로드하여 cURL 시간 초과를 트리거 할 수 없었습니다 .


libcurl에는 없습니다. http://curl.haxx.se/mail/lib-2003-05/0097.html

참고 URL : https://stackoverflow.com/questions/10308915/php-default-curl-timeout-value

반응형