位置: 编程技术 - 正文

详解PHP实现异步调用的4种方法(php yield 异步)

编辑:rootadmin

推荐整理分享详解PHP实现异步调用的4种方法(php yield 异步),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:详解php实现异步功能,php yield 异步,php异步请求方式,详解php实现异步传输,详解php实现异步功能,php如何实现异步,详解php实现异步传输,详解php实现异步操作,内容如对您有帮助,希望把文章链接给更多的朋友!

浏览器和服务器之间是通过 HTTP 协议进行连接通讯的。这是一种基于请求和响应模型的协议。浏览器通过 URL 向服务器发起请求,Web 服务器接收到请求,执行一段程序,然后做出响应,发送相应的html代码给客户端。

这就有了一个问题,Web 服务器执行一段程序,可能几毫秒就完成,也可能几分钟都完不成。如果程序执行缓慢,用户可能没有耐心等下去,就关闭浏览器了。

而有的时候,我们更本不关心这些耗时的脚本的返回结果,但却还要等他执行完返回,才能继续下一步。那么有没有什么办法,只是简单的触发调用这些耗时的脚本然后就继续下一步,让这些耗时的脚本在服务端慢慢执行?

详解PHP实现异步调用的4种方法(php yield 异步)

经过试验,总结出来几种方法,和大家share:

1. 最简单的办法,就是在返回给客户端的HTML代码中,嵌入AJAX调用,或者,嵌入一个img标签,src指向要执行的耗时脚本。这种方法最简单,也最快。服务器端不用做任何的调用。但是缺点是,一般来说Ajax都应该在onLoad以后触发,也就是说,用户点开页面后,就关闭,那就不会触发我们的后台脚本了。而使用img标签的话,这种方式不能称为严格意义上的异步执行。用户浏览器会长时间等待php脚本的执行完成,也就是用户浏览器的状态栏一直显示还在load。当然,还可以使用其他的类似原理的方法,比如script标签等等。

2. popen()

所以可以通过调用它,但忽略它的输出。

pclose(popen("/home/xinchen/backend.php &", 'r'));这个方法避免了第一个方法的缺点,并且也很快。但是问题是,这种方法不能通过HTTP协议请求另外的一个WebService,只能执行本地的脚本文件。并且只能单向打开,无法穿大量参数给被调用脚本。并且如果,访问量很高的时候,会产生大量的进程。如果使用到了外部资源,还要自己考虑竞争。

3. 使用CURL这个方法,设置CUROPT_TIMEOUT为1(最小为1,郁闷)。也就是说,客户端至少必须等待1秒钟。

4. 使用fsockopen这个方法应该是最完美的,但是缺点是,你需要自己拼出HTTP的header部分。

所以,总体来看,最好用,最简单的还是第一种方法。最完美的应该是最后一种,但是比较复杂。

标签: php yield 异步

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

上一篇:7种php基本排序实现方法(php排行)

下一篇:php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)(php正则表达式验证用户名)

  • 空调可以直接做费用吗
  • 年利润100万要交多少企业所得税
  • 建筑行业税负率表2023最新
  • 小规模人力资源外包税率
  • 企业所得税滞纳金从什么时候开始算
  • 土地股权转让交多少税
  • 公司的样品一般怎么处理
  • 公司没有收入算正常经营吗
  • 福利费实物发放标准
  • 增值税专用发票怎么开
  • 印花税漏报了要罚款吗
  • 增值税的税额是什么意思
  • 少收的货款怎么入账
  • 全年一次性奖金计税方式2023
  • 预缴增值税抵扣销项税额账务处理
  • 返利冲减销售收入还是进费用
  • 往年亏损,今年盈利,是否计提盈余公积
  • 哪些凭证可以抵扣
  • 微信提现手续费最新规定
  • 企业的借款利息支出全部可以税前扣除吗
  • 境外代扣代缴企业所得税的计税依据包含企业所得税嘛
  • 计划成本法购入材料
  • smart图形怎么单独设置动画
  • 旅游 服务业
  • 哪一个国家有大提顿国家公园
  • php imap函数
  • 前端 上传文件
  • 日本的萤火虫
  • npm无法将npm项识别为
  • 邮电通信企业业务收入包括哪些内容?
  • 桌山 开普敦
  • web前后端连接
  • vue过滤器可以异步吗
  • javascript基础类型
  • 冲减预提成本分录
  • 企业购进固定资产,在安装完工交付使用时
  • 租入商铺
  • 银行存款存款单丢了怎么办
  • 长期股权投资核算的成本法与权益法的主要差别有哪些
  • 学电脑的好网站
  • 拆迁补偿收入是否缴纳所得税
  • 用房子贷款印花税怎么算
  • 经营户个人所得税
  • 小微企业季度收入
  • 单位租的个人房子需要采集房产税源吗
  • 收不回来的问题
  • 股权转让会计账务处理方法
  • 调整期初库存商品分录
  • 如果我们交了房租,对方不给我们开发票
  • 报关金额多报了900美金怎么办
  • 利润总额和未分成比例
  • 工商注册资本什么意思
  • 公司私营企业
  • 在SQL查询中使用WHERE子句指出的是
  • win7电脑默认打开方式怎么设置
  • RSync文件备份同步 Linux服务器rsync同步配置图文教程
  • 3种方法教你有效祛湿
  • 清除cmos后电脑不启动
  • 双linux系统
  • 苹果mac 最新系统
  • win7打开文件夹都是独立的窗口
  • 装win10没有版本选择提示
  • win10系统出现蓝屏
  • Linux使用命令行将一个文件夹移动到另一个文件夹
  • ExtJS GridPanel 根据条件改变字体颜色
  • Extjs中DisplayField的日期或者数字格式化扩展
  • ExtJS4 组件化编程,动态加载,面向对象,Direct
  • react native usestate
  • 原生javascript+css3编写的3D魔方动画旋扭特效
  • nodejs fabric
  • 前端头像裁剪
  • js 实现一个new
  • 事件委托jq
  • jQuery实现Select左右复制移动内容
  • python中__init__
  • jquery的$作用
  • 税务局要求补上年房租开票
  • 北京通个人认证
  • 大米包装有二道封口线正常吗
  • 个体工商户税务注销流程及需要的资料
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设