PHP中如何实现异步?

释放双眼,带上耳机,听听看~!
  • 通过渲染前端页面,使用js执行Ajax,这种方式现在还适用。只是受限于业务场景,因为只能在浏览器中调用遇到接口请求就不行了。
  • 通过 popen() 方法打开一个指向进程的管道,每个请求会多起一个进程。忽略进程来看最主要的原因是数据的传输特别不方便,使用场景有限。
  • 使用 CURL 扩展,通过设置timeout超时参数,能实现离弦之箭的效果。不过这种方法会主动断开连接。被调用的服务如果有做连接检测,也会中断服务端脚本的执行。比如我们请求微信的某个费时接口(20s),我们调用1s就断开连接,微信端是否会维持请求执行20S是不可控的。所以这种方法不推荐大家使用
  • 这个方法CURL类似,通过fsockopen创建socket连接访问远程服务,不循环获取请求结果。一样会有三中连接被断开的问题。
  • 使用PHP官方提供的 pcntl 扩展,通过创建多个进程来实现异步。
  • 给TA打赏
    共{{data.count}}人
    人已打赏
    php笔记

    如何查看并提升PHP代码的性能?

    2020-3-26 13:25:41

    php笔记

    求n以内的质数PHP版

    2020-3-26 14:18:08

    0 条回复 A文章作者 M管理员
      暂无讨论,说说你的看法吧
    个人中心
    购物车
    优惠劵
    今日签到
    有新私信 私信列表
    搜索