位置: 编程技术 - 正文

详解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正则表达式验证用户名)

  • 非货币性资产交换补价大于25%的会计处理
  • 固定资产的入账
  • 金税盘可以用安卓的线吗
  • 个人独资企业有章程没有
  • 小规模纳税人水电费税率
  • 跨年调整会计科目怎么写
  • 怎么处理未抵扣增值税形成的留抵税额?
  • 公司承揽员工租房个税如何入账?
  • 慈善机构捐赠
  • 员工离职后收取客户钱款
  • 发票专用章管理办法
  • 12366国税网上申报
  • 记账凭证的科目不会填
  • 个体户要申报
  • 公司奖励金怎么做记账凭证?
  • 企业接受非现金资产投资的账务处理
  • 建筑工程甲方提供给乙方的材料
  • 支付给法律顾问的钱
  • 王者荣耀中吕布的克星
  • 科技推广和应用服务业
  • 您的磁盘
  • 跳线和短接
  • 如何把电脑上锁屏密码
  • 记载资金的账簿印花税的税率是多少
  • 验签失败发票如何撤销
  • yolov8目标检测测试输出类别个数
  • 深入php:面向对象、模式与实践
  • php正则表达式匹配,返回原因
  • 微信公众号开发用什么语言
  • 存货盘点调整表怎么做分录
  • 冲减管理费用为什么放在借方
  • 中标违约保证金怎么算
  • 金税盘密码和口令忘了无法登录
  • 股东以房产投资公司
  • 高新技术产业企业认定
  • mongodb常见问题
  • 一个人失恋了该怎么安慰她
  • 厂房办公用品费用怎么算
  • 汽车租赁费怎么赋码
  • 过渡期补贴是什么意思
  • 资产减值准备怎么理解
  • 外埠存款会计分录怎么写
  • 利息保障倍数多少算正常
  • 在建工程项目包括
  • 参展企业收到展览费用
  • 发现以前年度增值税附表2填写错了那时增值税是0
  • 手工发票可以抵进项税吗
  • 预收账款占销售收入比例预警值为比例大于
  • 待摊费用和长期待摊费用税前扣除
  • 硬盘 linux
  • win7怎么打开程序
  • win7如何删除网络上的其它计算机
  • 计算机 win10 桌面
  • winXP系统修复
  • win7系统桌面图标有遮挡
  • win7网络正常网页打不开是什么原因
  • win8系统怎么安装软件
  • win10系统中断怎么解除
  • windows7word文档打不开怎么办
  • cocos2dx4.0入门
  • js原型继承和构造继承
  • nodejs使用场景
  • linux c程序开发
  • unity3d地图定位
  • jquery插件库怎么导入
  • javascript cookies
  • js原生dialog
  • angularjs和后端交互
  • javascript教程
  • jquery倒计时代码
  • python3 random模块
  • javascript中的函数
  • js入门基础教程
  • 预拍摄功能相机
  • 国家税务总局全国增值税查询
  • 国家税务局网上江苏电子税务局官网
  • 河南省单位怎么打印社保花名册
  • 加强宣传的名言警句
  • 化妆品关税怎么算
  • 享受税收优惠影响就业吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设