imiphp / imi
imi 是一款支持长连接微服务分布式的 PHP 开发框架,可在 PHP-FPM、Swoole、Workerman 和 RoadRunner 等多种容器环境下运行。它支持 HttpApi、WebSocket、TCP、UDP、MQTT 服务的开发。
Fund package maintenance!
Yurunsoft
Open Collective
www.imiphp.com/donate.html
Installs: 45 418
Dependents: 32
Suggesters: 0
Security: 0
Stars: 1 179
Watchers: 33
Forks: 172
Open Issues: 17
pkg:composer/imiphp/imi
Requires
- php: >=7.4
- composer-runtime-api: ^2.0
- ext-json: *
- monolog/monolog: ^2.2
- phpdocumentor/reflection-docblock: ^5.2
- psr/container: ~1.1|~2.0
- psr/http-message: ~1.0
- psr/http-server-middleware: ~1.0
- psr/log: ~1.0|~2.0|~3.0
- psr/simple-cache: ~1.0|~2.0
- symfony/console: ^5.1|^6.0
- symfony/event-dispatcher: ^5.1|^6.0
- symfony/polyfill-php80: ^1.23
- symfony/polyfill-php81: ^1.23
- symfony/polyfill-php82: ^1.26
- symfony/process: ^5.1|^6.0
- vlucas/phpdotenv: ~5.3
- yurunsoft/doctrine-annotations: ^1.73.0
Requires (Dev)
- composer/semver: ^3.3.2
- php-cs-fixer/shim: ~3.17.0
- phpstan/phpstan: ~1.8.0
- phpunit/phpunit: ~9.6
- psr/container: ~1.1.0
- psr/http-message: ~1.0.0
- psr/http-server-middleware: ~1.0.0
- psr/log: ~1.0.0
- psr/simple-cache: ~1.0.0
- rector/rector: ~0.13
- symfony/polyfill-uuid: ^1.27
- yurunsoft/ide-helper: ~1.0
- yurunsoft/yurun-http: ~5.0
Suggests
- ext-inotify: 高性能热更新支持
- ext-pdo: 数据库操作支持
- ext-uuid: 模型 uuid 发号器依赖
- symfony/polyfill-uuid: 模型 uuid 发号器依赖
- 3.0.x-dev
- 2.1.x-dev
- v2.1.64
- v2.1.63
- v2.1.62
- v2.1.61
- v2.1.60
- v2.1.59
- v2.1.58
- v2.1.57
- v2.1.56
- v2.1.55
- v2.1.54
- v2.1.53
- v2.1.52
- v2.1.51
- v2.1.50
- v2.1.49
- v2.1.48
- v2.1.47
- v2.1.46
- v2.1.45
- v2.1.44
- v2.1.43
- v2.1.42
- v2.1.41
- v2.1.40
- v2.1.39
- v2.1.38
- v2.1.37
- v2.1.36
- v2.1.35
- v2.1.34
- v2.1.33
- v2.1.32
- v2.1.31
- v2.1.30
- v2.1.29
- v2.1.28
- v2.1.27
- v2.1.26
- v2.1.25
- v2.1.24
- v2.1.23
- v2.1.22
- v2.1.21
- v2.1.20
- v2.1.19
- v2.1.18
- v2.1.17
- v2.1.16
- v2.1.15
- v2.1.14
- v2.1.13
- v2.1.12
- v2.1.11
- v2.1.10
- v2.1.9
- v2.1.8
- v2.1.7
- v2.1.6
- v2.1.5
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- 2.0.x-dev
- v2.0.59
- v2.0.58
- v2.0.57
- v2.0.56
- v2.0.55
- v2.0.54
- v2.0.53
- v2.0.52
- v2.0.51
- v2.0.50
- v2.0.49
- v2.0.48
- v2.0.47
- v2.0.46
- v2.0.45
- v2.0.44
- v2.0.43
- v2.0.42
- v2.0.41
- v2.0.40
- v2.0.39
- v2.0.38
- v2.0.37
- v2.0.36
- v2.0.35
- v2.0.34
- v2.0.33
- v2.0.32
- v2.0.31
- v2.0.30
- v2.0.29
- v2.0.28
- v2.0.27
- v2.0.26
- v2.0.25
- v2.0.24
- v2.0.23
- v2.0.22
- v2.0.19
- v2.0.18
- v2.0.17
- v2.0.16
- v2.0.15
- v2.0.14
- v2.0.13
- v2.0.12
- v2.0.11
- v2.0.10
- v2.0.9
- v2.0.8
- v2.0.7
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- 1.x-dev
- v1.3.17
- v1.3.16
- v1.3.15
- v1.3.14
- v1.3.13
- v1.3.12
- v1.3.11
- v1.3.10
- v1.3.9
- v1.3.8
- v1.3.7
- v1.3.6
- v1.3.5
- v1.3.4
- v1.3.3
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.26
- v1.2.25
- v1.2.24
- v1.2.23
- v1.2.22
- v1.2.21
- v1.2.20
- v1.2.19
- v1.2.18
- v1.2.17
- v1.2.16
- v1.2.15
- v1.2.14
- v1.2.13
- v1.2.12
- v1.2.11
- v1.2.10
- v1.2.9
- v1.2.8
- v1.2.7
- v1.2.6
- v1.2.5
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.29
- v1.0.28
- v1.0.27
- v1.0.26
- v1.0.25
- v1.0.24
- v1.0.23
- v1.0.22
- v1.0.21
- v1.0.20
- v1.0.19
- v1.0.18
- v1.0.17
- v1.0.16
- v1.0.15
- v1.0.14
- v1.0.13
- v1.0.12
- v1.0.11
- v1.0.10
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- v0.3
- v0.2.2
- v0.2.1
- v0.2
- v0.1.1
- v0.1.0
- v0.0.11
- v0.0.10
- v0.0.9
- v0.0.8
- v0.0.7
- v0.0.6
- v0.0.5
- v0.0.4
- v0.0.3
- v0.0.2-alpha
- v0.0.1-alpha
- dev-fix-ci
- dev-dependabot/github_actions/dot-github/workflows/actions/download-artifact-4.1.7
- dev-php8.3-test
- dev-swoole-5.1
This package is auto-updated.
Last update: 2025-10-14 05:42:46 UTC
README
介绍
imi 是一款支持长连接微服务分布式的 PHP 开发框架,它可以运行在 PHP-FPM、Swoole、Workerman 和 RoadRunner 等多种容器环境下。
imi 提供了丰富的基础功能:MySQL、PostgreSQL、Redis、超强超好用的自研 ORM、连接池、Web Api、Web MVC、WebSocket、TCP Server、UDP Server、HTTP2、MQTT、gRPC、容器化(Container)、依赖注入、Aop、事件、异步(Async)、缓存(Cache)、命令行(Command)、配置化(Config)、上下文(Context)、定时任务(Cron)、门面(Facade)、验证器(Validate)、锁(Lock)、日志(Log)、定时器(Timer)、权限控制、消息队列(RabbitMQ、Kafka、Redis)、Swagger、Hprose、宏(Macro)、限流、共享内存、Smarty、雪花算法发号器(Snowflake)、Workerman Gateway、InfluxDB 和 TDengine 等组件。
同时,imi 还提供了微服务相关支持:Nacos 配置中心、etcd 配置中心、Nacos 服务注册、Nacos 服务发现、Swoole Tracker、Zipkin、Jaeger、Prometheus、InfluxDB 服务指标监控、TDengine 服务指标监控 和 负载均衡 等组件。
除此之外,imi 还提供了管理后台开发骨架 imi-admin。
imi 框架自 2018 年 6 月 21 日首次发布以来,已经稳定运行在许多项目中,例如文旅电商平台、物联网充电云平台、停车云平台、支付微服务、短信微服务、钱包微服务、卡牌游戏服务端和数据迁移服务(虎扑)等项目。
imi AI
imi 官方提供了一个 AI 助手 imi-ai,不管是工作、生活、学习,它都可以帮你解决问题。
凡在 imi 官网赞助过的,凭支付记录凭证,联系宇润领取等额的激活卡号!
凡在 imi Github/Gitee 提交过 PR 的,凭截图联系宇润领取一定额度的激活卡号!
目前纯公益运营,注册会赠送一定免费额度。
由于 OpenAI 接口调用是有成本的,如果额度用完,也欢迎大家来支持开源事业,价格和 OpenAI 官方一致,1RMB=72000 Tokens。
社群
微信群:(请注明来意)
打赏赞助:https://www.imiphp.com/donate.html
官方视频教程(完全免费)
imi 2.0 基础视频教程(免费连载中):
https://space.bilibili.com/768718/channel/seriesdetail?sid=274078 https://www.zhihu.com/people/yurunsoft/zvideos
imi 1.0 框架入门教程(免费11集全)https://www.bilibili.com/video/av78158909
imi 框架进阶教程——五子棋游戏开发(免费7集全)https://space.bilibili.com/768718/channel/detail?cid=136926
扩展组件
优秀的第三方组件
- 权限控制 (phpben/imi-auth)
- 注册中心 (phpben/imi-config-center)
- 模块化路由 (phpben/imi-module-route)
- ThinkPHP6 验证器 (phpben/imi-validate)
优秀的开源项目
开始使用
创建 Http Server 项目:composer create-project imiphp/project-http:~2.1.0
创建 WebSocket Server 项目:composer create-project imiphp/project-websocket:~2.1.0
创建 TCP Server 项目:composer create-project imiphp/project-tcp:~2.1.0
创建 UDP Server 项目:composer create-project imiphp/project-udp:~2.1.0
创建 gRPC 项目:composer create-project imiphp/project-grpc:~2.1.0
创建 MQTT Server 项目:composer create-project imiphp/project-mqtt:~2.1.0
运行环境
Docker
推荐使用 Swoole 官方 Docker:https://github.com/swoole/docker-swoole
成功案例
无论您是在个人项目还是公司项目中使用 imi 开发,无论是开源还是商业项目,都可以向我们提交您的案例。
我们会对您提交的案例进行审查,可能会将其展示在 imi 官网、Swoole 官网等处,这将有助于您的项目推广和发展。
提交格式:
- 项目名称
- 项目介绍
- 项目地址(官网/下载地址/Github等至少一项)
- 联系方式(电话/邮箱/QQ/微信等至少一项)
- 项目截图(可选)
- 感言
案例展示
成功案例:https://www.imiphp.com/case.html
imi 有你的案例会发展得更好,欢迎有条件的用户将项目案例挂上来,同时也是一种免费的宣传!
版权信息
imi 遵循木兰宽松许可证(Mulan PSL v2) 开源协议发布,并提供免费使用。
鸣谢
感谢以下开源项目 (按字母顺序排列) 为 imi 提供强力支持!
- doctrine/annotations (PHP 注解处理类库)
- PHP (没有 PHP 就没有 imi)
- Swoole (没有 Swoole 就没有 imi)
贡献者
你想出现在贡献者列表中吗?
你可以做的事(包括但不限于以下):
- 纠正拼写、错别字
- 完善注释
- bug修复
- 功能开发
- 文档编写
- 教程、博客分享
提交 Pull Request 到本仓库,你可以成为 imi 的贡献者!
参与框架开发教程详见:https://doc.imiphp.com/v2.1/adv/devp.html
