位置: 编程技术 - 正文

浅谈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远程调用)

  • 视同销售计税价格如何确定?
  • 劳务公司计税税率
  • 企业所得税税负高是什么意思
  • 子公司分红母公司缴税吗
  • 发票不走账对哪方有害
  • 减免税金需要计提吗
  • 会计信息采集审核需要多久
  • 城市维护建设税是什么意思
  • 政府扶持资金科目怎么做?
  • 工资条迟到扣款
  • 支付业务招待费的税费是进项还是销项
  • 公司网站建设费入什么明细科目里
  • 没有增值税发票怎么出口
  • 专项资金怎么入账
  • 2016年红冲发票流程
  • 除工资外其他收入需要个税吗
  • 银行结算卡年费多少
  • 现金支票工本费发票
  • 对方已认证的发票在哪里
  • 如何解决win10系统复制文件速度
  • 如何冲回以前年度账户
  • 企业财政拨款所得免税吗
  • 认定科技型中小企业简单吗
  • 销售使用过的固定资产怎么填申报表
  • 土地增值税内控报告
  • 远期外汇交易会有风险吗
  • 业务招待费的纳税筹划
  • 企业亏损还需要交增值税吗
  • 怎样取消红字
  • vue实现登陆
  • 前端搭建小人逃脱游戏(内附源码)
  • 手撕视频教程全集
  • 个人所得税经营所得
  • 企业分立房产税如何计算
  • 用友重新安装步骤
  • 私人帐户可以转账给对公账户吗
  • python中fork函数
  • 在建工程应交税金怎么算
  • 年金终值系数表值系数
  • 公账取现用途写什么
  • sql server标识符
  • 自产产品用于内部使用
  • 小规模增值税为负数怎么报税
  • 发票入账需要哪些附件的文件
  • 企业收到投资者投入资金
  • 国有划拔土地房整体可以买卖吗
  • 福利费需要通过应付职工薪酬吗
  • 车船税怎么计账
  • 上月未记账
  • 请演员的费用账务处理
  • 管家婆记账可以都有凭证做吗?
  • 微信转账和支付宝转账有法律效力么
  • 残疾人就业保障金征收使用管理办法
  • win7 64位系统如何查看计算机名称为了应付某一操作
  • ubuntu系统如何安装
  • linux日志类型
  • 0x80070718配额不足
  • Windows虚拟内存不足
  • linux open o_direct
  • linux i3桌面
  • mac电脑安装windows
  • windows7播放器在哪找
  • win10推送升级win11
  • 两个js文件互相取变量
  • 详细谈谈哲学的基本问题
  • jQuery插件能输出到控制台
  • 如何创建node项目
  • js快速生成数组
  • jquery事件的响应
  • 利用python进行
  • js中的flat
  • javascriptprompt用法
  • android基础入门教程
  • unity资源包管理器
  • unity3d总结
  • 如何在脚本中调字体
  • python常用的内置逻辑判断函数
  • 对超市的建议和意见怎么写简短
  • 广东税务app下载安装
  • 惠州市公交车投诉平台
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设