>  기사  >  백엔드 개발  >  PHP 요청 원격 주소 설정 시간 초과에 대한 솔루션

PHP 요청 원격 주소 설정 시간 초과에 대한 솔루션

墨辰丷
墨辰丷원래의
2018-05-31 09:52:481968검색

이 글은 주로 원격 주소를 요청하는 PHP의 시간 초과 설정 방법을 소개합니다. 관심 있는 친구들이 참고하면 도움이 될 것입니다.

php는 원격 주소 요청에 대한 시간 초과를 설정합니다. 이 기사에서는 주로 file_get_contents, fopen 및 컬의 세 가지 간단한 기능에 대한 시간 초과를 설정하는 방법을 설명합니다. 일반적으로 성능이 가장 좋고 컬을 사용하는 것이 좋습니다. 최고의 효율성.

1.file_get_contents 요청 시간 초과 설정

$timeout = array(
'http'=> array(
'timeout'=>5//设置一个超时时间,单位为秒
)
);
$ctx = stream_context_create($timeout);
$text = file_get_contents("http://www.jb51.net/",0, $ctx);

2.fopen 요청 시간 초과 설정

$timeout = array(
'http' => array(
'timeout' => 5 //设置一个超时时间,单位为秒
)
);
$ctx = stream_context_create($timeout);
if ($fp = fopen("http://www.jb51.net/", "r", false, $ctx)) {
while( $c = fread($fp, 8192)) {
echo $c;
}
fclose($fp);
}

3. 컬 요청 시간 초과 설정

CURL은 HTTP 프로토콜 인터페이스에 액세스하기 위해 일반적으로 사용되는 lib 라이브러리이며 성능이 뛰어나고 일부 동시성 지원 기능이 있습니다.

curl_setopt($ch, opt)는 주로 다음을 포함한 일부 시간 초과 설정을 설정할 수 있습니다.

a, CURLOPT_TIMEOUT은 cURL이 실행되도록 허용되는 최대 시간(초)을 설정합니다.

b, CURLOPT_TIMEOUT_MS cURL 실행이 허용되는 최대 밀리초 수를 설정합니다.

c. CURLOPT_CONNECTTIMEOUT은 연결을 시작하기 전에 기다리는 시간입니다. 0으로 설정하면 무기한 대기합니다.

d, CURLOPT_CONNECTTIMEOUT_MS 연결 시도를 기다리는 시간(밀리초)입니다. 0으로 설정하면 무한 대기합니다. e. CURLOPT_DNS_CACHE_TIMEOUT은 DNS 정보를 메모리에 저장하는 시간을 설정하며 기본값은 120초입니다.

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT,60);  //只需要设置一个秒的数量就可以
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_USERAGENT, $defined_vars['HTTP_USER_AGENT']);

위 내용은 이 글의 전체 내용이며, 모든 분들의 공부에 도움이 되었으면 좋겠습니다.


관련 권장사항:

PHP에서 16진수 색상 무작위 생성기 기능을 구현하는 방법

PHP 필터링, 확인, 이스케이프 및 비밀번호에 대한 실용적인 튜토리얼 방법

php 방법 구현하다 c#

과 일치하는 DES 암호화 및 암호 해독

위 내용은 PHP 요청 원격 주소 설정 시간 초과에 대한 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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