PHP에서 컬은 HTTP 요청을 보내기 위한 강력한 라이브러리입니다. 그러나 기본적으로 컬 요청은 요청이 취소되는 시간 제한을 설정합니다. 이 시간의 기본값은 1초입니다. 그러나 경우에 따라 기본 제한 시간 내에 취소하는 대신 컬 요청을 더 오랜 기간 동안 진행하기를 원할 수도 있습니다. PHP 코드를 통해 컬 요청 시간 초과를 설정하는 방법은 무엇입니까? 다음은 여러 가지 방법입니다.
php.ini 파일에 액세스할 수 있는 권한이 있는 경우 이 파일의 컬 시간 제한을 수정할 수 있습니다. php.ini 파일에서 다음 두 가지 옵션을 찾으세요:
; Maximum amount of time (in seconds) that is allowed for cURL functions to execute. ; Note: This value should not be set to an excessive amount, as it will negatively ; affect server performance. ; Default Value: 30 curl_timeout = 30 ; The number of seconds to wait while trying to connect. ; Default Value: 60 curl_connect_timeout = 60
여기서 curl_timeout
은 컬 요청의 최대 실행 시간이고 curl_connect_timeout
은 컬의 연결 시간 초과입니다. 요구. 해당 값을 원하는 시간(초)으로 변경해야 합니다. 수정이 완료되면 Apache 또는 PHP-FPM 서비스를 다시 시작하여 적용하세요. curl_timeout
是 curl 请求的最大执行时间,curl_connect_timeout
是 curl 请求的连接超时时间。你需要将它们的值改为你想要的时间(以秒为单位)。修改完毕后,重启 Apache 或者 PHP-FPM 服务使之生效。
如果你没有权限修改 php.ini 文件,可以在 PHP 代码中使用 curl_setopt 函数设置 curl 的超时时间。这个函数用于设置 curl 的选项,其使用方式如下:
bool curl_setopt ( resource $ch , int $option , mixed $value )
其中,$ch
是 curl 的句柄(通常使用 curl_init 函数初始化),$option
是需要设置的选项,$value
是选项的值。针对超时时间,有两个选项可供设置:
CURLOPT_TIMEOUT:curl 请求最大执行时间(以秒为单位); CURLOPT_CONNECTTIMEOUT:curl 请求连接超时时间(以秒为单位)。
你可以使用如下代码来设置上述选项:
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://example.com"); curl_setopt($ch, CURLOPT_TIMEOUT, 120); // 设置 curl 请求最大执行时间为 120 秒(2 分钟) curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); // 设置 curl 请求连接超时时间为 30 秒 $result = curl_exec($ch); curl_close($ch);
在上面的代码中,我们设置了 curl 请求的最大执行时间为 120 秒,连接超时时间为 30 秒。如果 curl 请求在 120 秒内没有完成或者在 30 秒内没有成功建立连接,请求将被取消。
如果你不想修改 PHP 配置或者使用 curl_setopt 函数,还可以在 URL 中添加参数来设置 curl 请求的超时时间。具体操作如下:
http://example.com/?curl_timeout=120&curl_connect_timeout=30
在上面的 URL 中,我们在请求参数中添加了 curl_timeout
和 curl_connect_timeout
curl_setopt 함수 사용
php.ini 파일 수정 권한이 없는 경우, 컬_setopt 함수를 사용하여 PHP 코드에서 컬 타임아웃을 설정할 수 있습니다. 이 함수는 컬의 옵션을 설정하는 데 사용됩니다.
rrreee🎜여기서$ch
는 컬의 핸들(보통 컬_init 함수를 사용하여 초기화됨)이고 $입니다. option
은 설정해야 하는 옵션이며, $value
는 옵션의 값입니다. 시간 제한을 설정하는 데는 두 가지 옵션이 있습니다. 🎜rrreee🎜다음 코드를 사용하여 위 옵션을 설정할 수 있습니다. 🎜rrreee🎜위 코드에서는 컬 요청의 최대 실행 시간을 120초로 설정하고 연결 시간 제한을 설정했습니다. .은 30초입니다. 컬 요청이 120초 이내에 완료되지 않거나, 30초 이내에 연결이 성공적으로 이루어지지 않으면 요청이 취소됩니다. 🎜curl_timeout
및 curl_connect_timeout
매개변수를 추가하여 컬 요청의 시간 초과 기간을 설정했습니다. 컬은 자동으로 이러한 매개변수를 읽고 요청할 때 해당 값을 적용합니다. 이 방법은 상대적으로 간단하지만 단점이 있습니다. URL에 포함된 매개변수가 브라우저나 역방향 프록시 서버에 의해 가로채거나 수정될 수 있습니다. 🎜🎜🎜요약🎜🎜🎜php.ini 파일을 수정하거나, 컬_setopt 함수를 사용하거나, URL에 매개변수를 추가하여 PHP에서 컬 요청에 대한 시간 제한을 설정할 수 있습니다. 컬을 사용할 때 특정 상황에 따라 타임아웃을 합리적으로 설정해야 합니다. 서버 성능에 영향을 주지 않도록 타임아웃을 너무 길게 설정하지 마십시오. 🎜위 내용은 PHP에서 컬이 시간 초과되지 않도록 설정하는 방법은 무엇입니까? 여러 가지 방법에 대한 간략한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!