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请求远程地址设置超时时间的解决方法相关推荐

  1. PAYPAL 支付,sandbox测试的时候遇到异常:请求被中止: 未能创建 SSL/TLS 安全通道,以及解决方法。

    PAYPAL 支付,sandbox测试的时候遇到异常:请求被中止: 未能创建 SSL/TLS 安全通道,以及解决方法. 参考文章: (1)PAYPAL 支付,sandbox测试的时候遇到异常:请求被中 ...

  2. web服务器没有对应站点,原因:您的请求在Web服务器中没有找到对应的站点的解决方法...

    宝塔主机面板网站提示您的请求在Web服务器中没有找到对应的站点的解决方法的原因分析及解决方法,环境吧分享BT宝塔面板没有找到站点的原因及解决方法: 宝塔面板报错提示:没有找到站点 宝塔面板没有找到站点 ...

  3. http请求报错Illegal character in query at index 303的解决方法

    http请求报错"Illegal character in query at index 303"的解决方法 执行jmeter的http请求时,请求失败,在Sampler resu ...

  4. SQL Server 2005 连接本地端口1433开启远程连接/登陆18456错误的解决方法

    SQL Server 2005 连接本地端口1433开启远程连接/登陆18456错误的解决方法 出处:http://jimmyli.blog.51cto.com/我站在巨人肩膀上Jimmy Li 作者 ...

  5. 远程桌面连接数超过最大限制解决方法

    远程桌面连接数超过最大限制解决方法 2007-12-13 9:24 一: 首先你可以telnet到此主机上(不管你用哪种方法)  上去后,先看登陆的用户:  c:\tools>query use ...

  6. “远程桌面己停止工作”的解决方法

    "远程桌面己停止工作"的解决方法 今天上班,在连接远程的一台服务器时,出现"远程桌面己停止工作"的提示,当出现该错误时,不能再进行其他操作,如图1所示. 图1 ...

  7. win7计算机无法远程访问,win7无法被远程桌面连接的几种解决方法

    有时候由于工作需要会开启远程桌面,远程连接好友的电脑,但是有的时候会发生win7无法被远程桌面连接的情况,有可能是win7电脑设置过程中出错或者是遗漏了什么没有设置,也有可能是设置完全正确.如果 wi ...

  8. w ndows远程自动退出登陆,远程桌面连接Wndows 常见故障解决方法.doc

    远程桌面连接Wndows 常见故障解决方法 远程桌面连接Windows 7常见故障解决方法 在局域网网络中,我们常常要通过远程桌面连接程序,远程管理共享资源,以便提高工作效率.可是,笔者在远程桌面连接 ...

  9. Navicat无法远程连接MySql服务器问题的解决方法

    Navicat无法远程连接MySql服务器问题的解决方法 写在前面: 操作系统:银河麒麟4.0: 数据库:MySQL5.7.26: JDK:采用银河麒麟系统自带的openjdk: 客户端工具:Navi ...

最新文章

  1. 2018-3-9 论文(网络评论中非结构化信息表示与研究)笔记---模糊认知图的形式化表示
  2. vs打开php项目路径,如何让vscode右键项目文件夹打开
  3. Tungsten Fabric SDN — Overviw
  4. linux学习(2)——文件和目录管理
  5. python读取csv某一列存入数组_python 读取.csv文件数据到数组(矩阵)的实例讲解
  6. Linux下进程间通信方式——信号量(Semaphore)
  7. 分页查询时如何优化MySQL的性能?
  8. 前端vue后端java,Vue调用后端java接口的实例代码_亦心_前端开发者
  9. mysql存储map数据结构_map数据结构
  10. 一个简单的mysql服务检测启动脚本
  11. Ubuntu 20.04安装Ros Noetic及Ubuntu 18.04安装ROS Melodic(两版本详细填坑)
  12. Spring3中js/css/jpg/gif等静态资源无法找到(No mapping found for HTTP request with URI)问题解决(转)...
  13. python一行包含if else需要注意的点
  14. 计算机windows解压文件,win7怎么用DOS命令解压缩文件 DOS解压文件方法
  15. 数字货币期货生存指南
  16. vector BLF 文件读写
  17. 世界你好python_Python中的彩蛋(哈哈哈)
  18. 苹果7防水吗_苹果手机防水是真的吗?事实很残酷,但还可以抢救一下
  19. [ 渗透入门篇 ] 从渗透测试执行标准着手的渗透学习大纲。掌握了这些知识点还担心找不到工作?
  20. 十字路头的拼音及解释

热门文章

  1. 庆典和仪式的礼仪(2)
  2. 计算机常用函数绝对值,工作中最常用的30个Excel函数公式,帮你整理齐了!
  3. Smartbi Insight 与Smartbi Eagle的区别
  4. PR字幕模板 渐变动态线条呼出注释标题Mogrt模板下载
  5. Python中的元组和列表的区别
  6. 精品连载丨安卓 App 逆向课程之五 frida 注入 Okhttp 抓包下篇
  7. 流水账记一下这一年多
  8. 192Echarts - 自定义系列(Custom Calendar Icon)
  9. android默认语言,Android默认设置App内的语言为中文
  10. 如何在电脑上使用计算机,字体如何安装到电脑里_怎么给电脑装字体-win7之家