PHP请求远程地址设置超时时间的解决方法

 更新时间:2016年10月29日 09:58:20   投稿:jingxian  
下面小编就为大家带来一篇PHP请求远程地址设置超时时间的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

php请求远程地址设置超时时间,主要讲解file_get_contents、fopen、curl这三个简单常用函数设置超时时间的方法,一般情况下建议使用curl,性能最好,效率也最高。

1、file_get_contents 请求超时设置

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

2、fopen 请求超时设置

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

3、curl请求超时设置

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请求远程地址设置超时时间的解决方法全部内容了,希望大家多多支持脚本之家~

相关文章

  • php获取客户端电脑屏幕参数的方法

    php获取客户端电脑屏幕参数的方法

    这篇文章主要介绍了php获取客户端电脑屏幕参数的方法,可获得宽度,高度,分辨率等参数,主要使用了js的方法获取客户端电脑屏幕的参数再利用Ajax返回给服务器端,进而实现获取客户端电脑屏幕参数的功能,需要的朋友可以参考下
    2015-01-01
  • php实现xml数据转数组两种方式

    php实现xml数据转数组两种方式

    这篇文章主要为大家详细介绍了php实现xml数据转数组两种方式的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以参考下
    2023-11-11
  • php搜索文件程序分享

    php搜索文件程序分享

    php文件查找程序,输入一个路径确定后会遍历目录下所有的文件和文件夹,通过递归可以找到文件夹下面的每一个文件,再通过文件名和输入的关键字匹配,则可以查找到你想要的文件,需要的朋友可以参考下
    2015-10-10
  • Linux下编译redis和phpredis的方法

    Linux下编译redis和phpredis的方法

    这篇文章主要介绍了Linux下编译redis和phpredis的方法,分析了redis的下载,编译,安装及遇到的问题与相应的解决方法,需要的朋友可以参考下
    2016-04-04
  • 探讨PHP调用时间格式的参数详解

    探讨PHP调用时间格式的参数详解

    本篇文章是对PHP调用时间格式的参数进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP进行批量任务处理不超时的解决方法

    PHP进行批量任务处理不超时的解决方法

    这篇文章主要介绍了PHP进行批量任务处理不超时的解决方法,结合实例形式简单分析了php结合ajax进行异步处理实现批量任务不超时的相关技巧,需要的朋友可以参考下
    2016-07-07
  • php超快高效率统计大文件行数

    php超快高效率统计大文件行数

    这篇文章主要介绍了php超快高效率统计大文件行数的相关资料,需要的朋友可以参考下
    2015-07-07
  • PHP进阶学习之反射基本概念与用法分析

    PHP进阶学习之反射基本概念与用法分析

    这篇文章主要介绍了PHP进阶学习之反射基本概念与用法,结合实例形式分析了php反射的概念、原理基本用法及相关操作注意事项,需要的朋友可以参考下
    2019-06-06
  • PHP5 的对象赋值机制介绍

    PHP5 的对象赋值机制介绍

    看到PHP设计模式中值对象模式中的例题,对于结果总感到有点疑惑。回头看了下PHP5的对象赋值才真正清楚。
    2011-08-08
  • 8个PHP数组面试题

    8个PHP数组面试题

    这篇文章主要介绍了8个PHP数组面试题,例如写函数创建长度为10的数组,数组中的元素为递增的奇数,首项为1、创建长度为10的数组,数组中的数为递增的等比数,比值为3,首项为等题目,需要的朋友可以参考下
    2015-06-06

最新评论