衍生开源项目

开发框架

  • Hyperf Hyperf 是基于 Swoole 4.4+ 实现的高性能、高灵活性的 PHP 协程框架,内置协程服务器及大量常用的组件,性能较传统基于 PHP-FPM 的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性,标准组件均基于 PSR 标准 实现,基于强大的依赖注入设计,保证了绝大部分组件或类都是 可替换 与 可复用 的。
  • Swoft Swoft 是一款基于 Swoole 扩展实现的 PHP 微服务协程框架。Swoft 能像 Go 一样,内置协程网络服务器及常用的协程客户端且常驻内存,不依赖传统的 PHP-FPM。有类似 Go 语言的协程操作方式,有类似 Spring Cloud 框架灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等。Swoft 通过长达三年的积累和方向的探索,把 Swoft 打造成 PHP 界的 Spring Cloud, 它是 PHP 高性能框架和微服务治理的最佳选择。
  • EasySwoole EasySwoole 是一款基于Swoole Server 开发的常驻内存型PHP框架,专为API而生,摆脱传统PHP运行模式在进程唤起和文件加载上带来的性能损失。EasySwoole 高度封装了Swoole Server 而依旧维持Swoole Server 原有特性,支持同时混合监听HTTP、自定义TCP、UDP协议,让开发者以最低的学习成本和精力编写出多进程,可异步,高可用的应用服务。
  • MixPHP 是一款基于 Swoole 的 FastCGI、常驻内存、协程三模 PHP 高性能框架,MixPHP 秉承 "普及 PHP 常驻内存型解决方案,促进 PHP 往更后端发展" 的理念而创造,采用 Swoole 原生协程与最新的 PHP Stream 一键协程化技术,提供了 Console / Daemon / HTTP / WebSocket / TCP / UDP 开发所需的众多开箱即用的组件,在其他 Swoole 框架都定位于大中型团队、庞大的 PHP 应用集群的时候,MixPHP 决定推动这项技术的普及,我们定位于众多的中小型企业、创业型公司,我们将 Swoole 的复杂度封装起来,用简单的编码方式呈现给用户,让更多的中级程序员也可打造高并发系统,努力让 Swoole 不再只是高级程序员的专利。
  • Swoolefy 基于swoole扩展实现的轻量级高性能的API和Web应用服务框架,高度整合http,websocket,udp服务器,以及基于tcp实现可扩展,自定义协议的rpc服务器,同时支持composer包方式快速部署项目。基于易用,swoolefy抽象Event事件处理类,实现与底层的回调的解耦,专注逻辑业务,支持协程单例,自定义进程,内置view、Log、session、mysql、redis、memcached、mongodb,mailer等常用组件。
  • Lawoole 基于 Laravel 和 Swoole 的高性能 PHP 框架。借助 Swoole 的高性能特点,弥补了 Laravel 的性能缺陷。在大幅提升程序运行速度的情况下,能够使用到绝大部分 Laravel 中优秀的特性。在 Lawoole 中,你可以拥有与 Laravel 一致的开发体验,编写那些富有创造力的代码。
  • CabalPHP 基于Swoole的轻量、高效、全异步开源框架,自动生成API接口文档,IDE下有完整的代码提示,相较于其他框架我们有完善的协程数据库和缓存引擎哦!
  • imi 是基于 PHP Swoole 的高性能协程应用开发框架,它支持 HttpApi、WebSocket、TCP、UDP 服务的开发。在 Swoole 的加持下,相比 php-fpm 请求响应能力,I/O密集型场景处理能力,有着本质上的提升。imi 框架拥有丰富的功能组件,可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。

服务器

  • MyQEE-Server 将swoole服务和功能对象抽象化,为每个 Worker、Task、多端口分配一个对象,带来全新的编程体验让代码清晰有条理,适合多端口以及Http、WebSocket、Tcp混合的应用服务器开发,支持创建大文件、断点、分片上传的Http服务器
  • EPServer 高性能TCP服务器框架,底层基于swoole扩展
  • WebSocket & WebIM
  • Upload-Server 基于swoole扩展开发的,高性能TCP文件上传服务器,是全异步非阻塞多进程的。可同时支持数万个TCP客户端连接,上传文件。
  • php-queue PHP开发的磁盘存储消息队列服务,基于leveldb和swoole,在4核机器上处理能力可以达到2.5W/s
  • PtWebserver PtWebserver 基于php swoole 扩展的高性能web 服务器。应用对象常驻内存,不用重复创建对象,提高响应时间与性能
  • swoole-jobs swoole-jobs,基于swoole的job调度组件,支持composer,可以跟任意框架集成
  • processManager 常驻多进程任务管理框架,适用于多种业务对接,内部提供第三方扩展钩子让您更方便融入到业务框架中。

应用项目

  • SMProxy 一个基于mysql协议,swoole 开发的mysql数据库连接池。将数据库连接作为对象存储在内存中,当用户需要访问数据库时,首次会建立连接,后面并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。而连接的建立、断开都由连接池自身来管理。同时,还可以通过设置连接池的参数来控制连接池中的初始连接数、连接的上下限数以及每个连接的最大使用次数、最大空闲时间等等。也可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。超出最大连接数会采用协程挂起 等到有连接关闭再恢复协程继续操作。能够大幅度降低数据库压力,提升数据库操作效率。
支持读写分离
支持数据库连接池,能够有效解决PHP带来的数据库连接瓶颈
支持SQL92标准
遵守Mysql原生协议,跨语言,跨平台的通用中间件代理。
支持多个数据库连接,多个数据库,多个用户,灵活搭配。
支持mysql事物
采用协程调度
支持 HandshakeV10 协议版本
完美兼容mysql5.6-5.7
兼容各大框架,无缝提升性能
  • open-smf/connection-pool 基于Swoole的通用连接池,一般用作数据库连接池。
  • zchat 基于zphp框架和swoole扩展开发的PHP网页即时聊天室系统。
  • PHPWebIM 基于swoole扩展开发的websocket网页聊天系统
  • swoole_flash_game 基于swoole扩展开发的flash游戏,可与服务器实时交互
  • statistics 一个运用php与swoole实现的统计监控系统
  • swoole-bot基于swoole实现的微信机器人,依赖vbot和微信网页版的功能,帮助管理微信群/聊天/踢人等
  • vbot 基于web api打造的微信机器人,可以通过配置开启 swoole,便可打造自己的个性化微信客户端

微服务框架

  • Group-Co 优雅的异步协程框架,并内置分布式服务化体系,可以根据自身架构需求自定义实现服务的上下线,监控,发布等等。

HTTP 应用框架

  • zhttp 基于swoole+generator的异步非阻塞轻量级web框架(api和web皆可),内置mysql、redis、memcached、mongodb全套异步客户端的连接池,内置http异步客户端,近乎同步的写法,却是异步的调用,性能强悍

  • FastD 适用于对性能有要求的 API 场景,并且灵活的扩展性可以让开发者们更容易地建造自己的服务。支持HTTP、TCP、UDP、WebSocket,简单,易用。

  • LaravelS 基于Swoole加速Laravel/Lumen,常驻内存,内置HTTP/WebSocket Server,支持TCP/UDP Server、自定义进程、异步的事件监听、异步任务队列、毫秒级定时任务、平滑Reload,与Nginx配合搭建高可用分布式服务器群,开箱即用。

  • Yii2-Swoole 支持基于Yii2框架运行于Swoole中,同时可以很简单的支持Swoole 4.0协程与非协程,自带mysql,redis连接池,可以使用Yii2的全栈框架来开发HTTP,WebSocket等网络服务。

如果您有基于swoole开发新的开源项目,可以联系我们。将你的开源项目加入swoole官方推荐列表中。


  • 照顾自己64

    这里有一个LaravelFly 是用swoole http server运行Laravel的项目,其Greedy贪婪模式,可以在worker启动时尽可能初始化尽可能多的services https://github.com/scil/LaravelFly

  • LaravelS 简单,非侵入式,开箱即用。

  • 子山

    Swoole MySQL Proxy 一个基于 MySQL 协议,Swoole 开发的MySQL数据库连接池。 https://smproxy.louislivi.com

  • 晨光

    ManaPHP 秉承 "普及PHP协程, 促进PHP发展" 的理念而创造,采用Swoole扩展作为底层引擎,围绕常驻内存的环境而设计, 提供了 Console / Http 开发所需的众多开箱即用的组件。 ManaPHP追求简单、试图让更多开发者以更低学习成本享受到Swoole带来的高性能与全新的编程体验。

    一套代码,三种环境随意执行!

  • 探索者

    xxxx

  • Zend-Rhythm

    这么多框架,我要学哪一个,喵。

  • 阿金

    这么多框架没有一个是可持续性的,要么走极端去PHP,要么封闭自锁,要么大全却不精,只谈高性能不谈可维护性。

  • twosee

    就我所知的Swoft/EasySwoole/Mix/imi这几个比较活跃的框架(拥抱协程的)都是在实际项目中有大量投入使用的, 协程是一个新的概念还需要一定的发展, 不知道楼上何出此言

  • jichengyang

    框架其实本身的意义在于快速开发,swoole带来的网络协议、进程管理、并发编程、内存通信... 等知识是大部分php coder 们所缺乏的 ,需要提升自己的coder 应当学会知识,然后使用swoole,可能也会写出基于swoole的框架

  • 探索者

    one 框架

  • 菌吏

    我也开发一个基于swoole的php应用程序框架 https://gitee.com/sujunli/phpMore-framework, 希望高手指点指点