php异步执行等待,php中异步执行的四种方式

本文探讨了四种不同的服务器执行技术:Ajax与img标记、popen、curl和fsockopen。Ajax方法实现简单但并非真正异步;popen执行速度快但受限于本地执行和参数传递;curl通过设置超时实现快速响应;fsockopen灵活性高但需手动处理header。每种方法都有其优缺点,在实际应用中需权衡选择。
摘要由CSDN通过智能技术生成

d3e810b8588169b3c32a83cd1129e852.png

一、使用Ajax 与 img 标记

原理:服务器返回的html中插入Ajax 代码或 img 标记,img的src为需要执行的程序。

优点:实现简单,服务端无需执行任何调用。

缺点:在执行期间,浏览器会一直处于loading状态,因此这种方法并不算真正的异步调用。

204d2faac255a2c5b22d096ab4400c8f.png

(免费视频教程推荐:php视频教程)

二、使用popen

使用popen执行命令,语法:

2b8f084d65415d88a253c26328ba0085.png

优点:执行速度快

缺点:

1、只能在本机执行

2、不能传递大量参数

3、访问量高时会创建很多进程

三、使用curl

设置curl的超时时间 CURLOPT_TIMEOUT 为1 (最小为1),因此客户端需要等待1秒。

1d96b5eab558a416e7dfdfc6f5b012bf.png

四、使用fsockopen

fsockopen是最好的,缺点是需要自己拼接header部分。

898dfd6e33e7ecd01be37e7643d83e1d.png

dcf5ea8703a30a29b900af039f9aad60.png

注意:当执行过程中,客户端连接断开或连接超时,都会有可能造成执行不完整,因此需要加上。

abaabc1c7b2a68122a929ae980c8ac1a.png

相关文章教程推荐:php教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值