位置: 编程技术 - 正文

浅谈php处理后端&接口访问超时的解决方法(php 后端)

编辑:rootadmin

推荐整理分享浅谈php处理后端&接口访问超时的解决方法(php 后端),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php后端是做什么的,浅谈php处理后端问题,浅谈php处理后端程序,php后端是做什么的,php 后端,浅谈php处理后端程序,浅谈php处理后端问题,浅谈php处理后端问题,内容如对您有帮助,希望把文章链接给更多的朋友!

【HTTP访问】

一般我们访问HTTP方式很多,主要是:curl, socket, file_get_contents() 等方法。

如果碰到对方服务器一直没有响应的时候,我们就悲剧了,很容易把整个服务器搞死,所以在访问http的时候也需要考虑超时的问题。

[ CURL 访问HTTP]

CURL 是我们常用的一种比较靠谱的访问HTTP协议接口的lib库,性能高,还有一些并发支持的功能等。

CURL:

curl_setopt($ch, opt) 可以设置一些超时的设置,主要包括:

*(重要) CURLOPT_TIMEOUT 设置cURL允许执行的最长秒数。

*(重要) CURLOPT_TIMEOUT_MS 设置cURL允许执行的最长毫秒数。 (在cURL 7..2中被加入。从PHP 5.2.3起可使用。 )

CURLOPT_CONNECTTIMEOUT 在发起连接前等待的时间,如果设置为0,则无限等待。

CURLOPT_CONNECTTIMEOUT_MS 尝试连接等待的时间,以毫秒为单位。如果设置为0,则无限等待。 在cURL 7..2中被加入。从PHP 5.2.3开始可用。

CURLOPT_DNS_CACHE_TIMEOUT 设置在内存中保存DNS信息的时间,默认为秒。

curl普通秒级超时:

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,$url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

浅谈php处理后端&接口访问超时的解决方法(php 后端)

curl_setopt($ch, CURLOPT_TIMEOUT, ); //只需要设置一个秒的数量就可以

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

curl_setopt($ch, CURLOPT_USERAGENT, $defined_vars['HTTP_USER_AGENT']);

curl普通秒级超时使用:

curl_setopt($ch, CURLOPT_TIMEOUT, );

curl如果需要进行毫秒超时,需要增加:

curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1L);

或者是:

curl_setopt ( $ch, CURLOPT_NOSIGNAL, true); 是可以支持毫秒级别超时设置的

curl一个毫秒级超时的例子:

其他一些技巧:

1. 按照经验总结是:cURL 版本 >= libcurl/7..0 版本,毫秒级超时是一定生效的,切记。

2. curl_multi的毫秒级超时也有问题。。单次访问是支持ms级超时的,curl_multi并行调多个会不准

[流处理方式访问HTTP]

除了curl,我们还经常自己使用fsockopen、或者是file操作函数来进行HTTP协议的处理,所以,我们对这块的超时处理也是必须的。

一般连接超时可以直接设置,但是流读取超时需要单独处理。

自己写代码处理:

或者使用内置流处理函数 stream_set_timeout() 和 stream_get_meta_data() 处理:

file_get_contents 超时:

fopen 超时:

标签: php 后端

本文链接地址:https://www.jiuchutong.com/biancheng/301431.html 转载请保留说明!

上一篇:完美解决phpexcel导出到xls文件出现乱码的问题(完美解决win10间歇性掉线)

下一篇:PHP请求远程地址设置超时时间的解决方法(php远程调用)

  • 三公经费指的是什么
  • 建筑业印花税核定征收
  • 广州二手房交易契税
  • 结转已销商品的成本的会计科目有哪些
  • 收到发票冲红怎么做分录
  • 专利银行卡汇款流程
  • 公共部门管理中具有哪些作用
  • 预收账款确认收入会计分录
  • 产业扶持资金管理办法
  • 生产企业的安全员好干吗
  • 企业收到外汇的账务处理
  • 调离工作岗位是什么处分
  • 查税是按基本账户吗
  • 城市生活垃圾处理费应该交吗
  • 理财产品取得收益要交税吗
  • 子公司和母公司可以一起投标吗
  • 新公司没有实收资本,他的钱从哪来
  • 法院执行款可以开发票吗
  • 租车费增值税专用发票
  • 为什么申报个人所得税还要补税
  • set up 和establish的区别
  • php数组实现
  • 收到退款的会计分录
  • php socket_read
  • 弃置费用的会计核算
  • 计算完工产品成本
  • 火灾烧毁物品如何取证
  • idea安装vue.js
  • gpt参数
  • centos7编译安装内核
  • 融资租赁业务的程序主要有
  • 应交所得税的科目是什么
  • 报销差旅费用什么发票
  • 城市维护建设税是什么意思
  • 织梦图集的使用教程
  • 给中间人回扣犯罪吗
  • 现流表与资产负债表的关系
  • 车到4s店后还需办什么手续
  • 完全卸载mysql8.0
  • 金税四期可以查香港银行卡吗
  • 存货跌价准备的特点
  • 小规模企业申报表填写
  • 汇兑损益在哪个表
  • 持有至到期投资是债权投资吗
  • 小规模纳税人为什么不能抵扣进项税
  • 出租机械设备
  • 补交以前年度企业所得税怎么入账
  • 销售折扣销货方式有哪些
  • 办公设备折旧年限规定多少年
  • 员工报销工伤险怎么报销
  • 企业的固定资产包括哪些内容
  • 小企业会计准则和一般企业会计准则的区别
  • 费用会计处理
  • 公司提前扣员工保险合法吗
  • 货款折扣的账务处理
  • 物流到付如何做账务处理
  • 购车怎么做会计分录
  • 工业会计科目有哪些
  • 计提资产减值是好事还是坏事
  • mysql中具体到删某一个数据
  • win8怎么扩展c盘
  • 360 sesvc.exe
  • mac电脑系统安装
  • mac的dock栏怎么设置
  • win8删文件需要权限怎么弄
  • 有趣的linux命令
  • cocos2dx-3.2+lua 启动项目小技巧
  • 置顶的朋友圈屏蔽的人能看到吗
  • [小权~编码路&Android] BroadcastReceiver应用详解
  • linux系统如何搜索文件内容
  • 如何防止蟑螂爬到床上
  • javascript中的数据类型分为两大类
  • android键盘aosp
  • asyncio使用
  • 税务文书档案保管期限
  • 长沙个体户怎么给员工交社保
  • 公司买水果怎么开票
  • 社保并入税务局的时间
  • 国家税务局申报系统
  • 环保标识码
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设