imi 是一款支持长连接微服务分布式的 PHP 开发框架,它可以运行在 PHP-FPM、Swoole、Workerman、RoadRunner 等多种容器环境下。它支持 HttpApi、WebSocket、TCP、UDP、MQTT 服务的开发。特别适合互联网微服务、即时通讯聊天im、物联网等场景!QQ群:17916227
OTHER License
Bot releases are hidden (Show)
Published by Yurunsoft over 2 years ago
优化 amqp (#325)
调整 Grpc 组件目录结构 (#331)
优化创建子服务器 (#329)
修复 Workerman 守护进程模式运行,记录日志导致进程退出重启 (#328)
修复 Swoole BASE 模式只有一个进程时,没有输出监听端口信息 (#332)
修复进程启动和停止日志中的标签 (#330)
Published by Yurunsoft over 2 years ago
优化 amqp (#325)
调整 Grpc 组件目录结构 (#331)
修复 Workerman 守护进程模式运行,记录日志导致进程退出重启 (#328)
修复 Swoole BASE 模式只有一个进程时,没有输出监听端口信息 (#332)
Published by Yurunsoft over 2 years ago
支持在 Swoole、Workerman 进程启动和停止时输出日志 (#320)
CronUtil 支持检测任务状态 和 获取所有激活任务列表 (#327) by @hurricanetx
修复无法移除手动增加的定时任务 (#323)
修复使用SwooleDB引擎之后报 参数数量不一致 的错误 (#326) by @hurricanetx
修复 workerman-gateway Swoole worker 会在 task 进程中运行的问题 (#322)
修复启动服务后并发压测,概率出现响应内容为空 (#319)
修复使用 AMQP 在进程退出时可能卡死并输出一堆 WARNING,兼容非 Swoole (#318)
修复 Swoole PgSql checkCodeIsOffline()
Full Changelog: https://github.com/imiphp/imi/compare/v2.1.8...v2.1.9
Published by Yurunsoft over 2 years ago
修复无法移除手动增加的定时任务 (#323)
修复使用SwooleDB引擎之后报 参数数量不一致 的错误 (#326) by @hurricanetx
修复 workerman-gateway Swoole worker 会在 task 进程中运行的问题 (#322)
修复启动服务后并发压测,概率出现响应内容为空 (#319)
修复使用 AMQP 在进程退出时可能卡死并输出一堆 WARNING,兼容非 Swoole (#318)
修复 Swoole PgSql checkCodeIsOffline()
Published by Yurunsoft over 2 years ago
Published by Yurunsoft over 2 years ago
Published by Yurunsoft over 2 years ago
mqtt 项目示例已经支持 v2.1:https://github.com/imiphp/imi-project-mqtt
composer create-project imiphp/project-mqtt:~2.1.0
新增 Imi\dump()
调试输出函数 (#306)
支持单文件运行 imi (#308)
新增一个更加方便遍历分块查询的方法 chunkEach() (#311)
支持验证器动态数组对象验证 (#313)
Db 构建器添加 find, value, column 查询方法 by @NHZEX (#314)
新增服务启动时,输出注册到 imi 的组件信息、修复及优化 (#315)
移除 imi-macro 强制依赖 (#312)
优化 AMQPResource 安全关闭
优化销毁协程上下文时捕获异常记录日志
优化一些代码
修复 Call to undefined method Swoole\Coroutine\MySQL::checkCodeIsOffline()
修复 jwt 组件 PHP 8.1 兼容
修复 Swoole PgSql errorCode()
修复软删除注解设置 field 无效
修复 Swoole Http、WebSocket 服务器 close 事件参数类型
修复 grpc 组件无法加载 Main 类
修复 Swoole 下连接池释放引起的 Undefined array key
Full Changelog: https://github.com/imiphp/imi/compare/v2.1.6...v2.1.7
Published by Yurunsoft over 2 years ago
优化 AMQPResource 安全关闭
优化销毁协程上下文时捕获异常记录日志
优化一些代码
修复 Call to undefined method Swoole\Coroutine\MySQL::checkCodeIsOffline()
修复 jwt 组件 PHP 8.1 兼容
修复 Swoole PgSql errorCode()
修复软删除注解设置 field 无效
修复 Swoole Http、WebSocket 服务器 close 事件参数类型
修复 grpc 组件无法加载 Main 类
修复 Swoole 下连接池释放引起的 Undefined array key
Published by Yurunsoft over 2 years ago
支持在 composer.json 中配置项目命名空间 by @Yurunsoft in https://github.com/imiphp/imi/pull/297
Db
的分块查询与游标查询支持 by @NHZEX in https://github.com/imiphp/imi/pull/302
官网图片加载优化 by @lovefc in https://github.com/imiphp/imi/pull/296
Async 中抛出异常,如果没有获取结果时,默认记录日志 by @Yurunsoft in https://github.com/imiphp/imi/pull/299
支持在 imigo()、Imi\Swoole\Util\Coroutine::create() 中捕获异常并记录日志 by @Yurunsoft in https://github.com/imiphp/imi/pull/301
优化错误报告 by @Yurunsoft in https://github.com/imiphp/imi/pull/304
phar 改进 by @NHZEX in https://github.com/imiphp/imi/pull/300
优化一些代码
修复一些问题 by @Yurunsoft in https://github.com/imiphp/imi/pull/303
修复 Workerman 触发 onError 事件没有默认记录日志
修复在 Docker 环境下 IMI.APP.INIT 事件大概率不触发的问题
Published by Yurunsoft over 2 years ago
修复一些问题 (#303)
修复极低概率下,未初始化完 Worker 就处理请求
修复在 Docker 环境下 IMI.APP.INIT 事件大概率不触发的问题
修复 Workerman 触发 onError 事件没有默认记录日志
Published by Yurunsoft over 2 years ago
修复连接池释放连接,可能导致下一次获取到正在使用的连接 (#295)
修复连接池资源被关闭后,释放连接时会重新加入连接池的问题 (#291)
imi 正在研究接入 swow 中,相信不久的将来,imi 支持的容器将再加一个!
为更好更全面地挖掘和照顾更多用户的PHP开发需求,也为让更多用户了解 imi,提升 imi 乃至 Swoole 生态的活力,使更多还在 Swoole 生态圈外的 phper 迈进圈中共同发展,imi 已将技术交流圈扩展到微信平台,建立了 imi 技术交流微信群,欢迎各位 phper 加入,imi 与你一同携手共建 Swoole 生态,共创 PHP 的美好未来!
微信群二维码:
Published by Yurunsoft over 2 years ago
修复连接池释放连接,可能导致下一次获取到正在使用的连接 (#295)
修复连接池资源被关闭后,释放连接时会重新加入连接池的问题 (#291)
Published by Yurunsoft over 2 years ago
本周更新,重磅支持将 imi 项目打包为 phar 文件,感谢 @NHZEX 做出的贡献!文档:https://doc.imiphp.com/v2.1/components/phar/index.html
为更好更全面地挖掘和照顾更多用户的PHP开发需求,也为让更多用户了解 imi,提升 imi 乃至 Swoole 生态的活力,使更多还在 Swoole 生态圈外的 phper 迈进圈中共同发展,imi 已将技术交流圈扩展到微信平台,建立了 imi 技术交流微信群,欢迎各位 phper 加入,imi 与你一同携手共建 Swoole 生态,共创 PHP 的美好未来!
微信群二维码:
Phar 支持 (#288)
Grpc 功能改进和修复 (#289)
支持定义命令行名称分割符 (#290)
支持监听 Swoole WebSocket Server disconnect 事件
Phar 模式强制禁用热更新
优化 Workerman Worker 类中的默认静态属性值
优化代码
Published by Yurunsoft over 2 years ago
Published by Yurunsoft over 2 years ago
移除 Swoole 短名称检查检查,不启用也可以使用 imi (#281)
增强 Content-Type 识别能力
修复 Workerman Gateway worker 中,WebSocket 连接事件处理抛出异常不会断开连接的问题 (#286)
修复 Async 中 SwooleResult->get() 不会层层获取最终结果 (#283)
修复存在多个空 WhereBrackets 时构建错误 (#284)
修复 Call to undefined method XXX::checkCodeIsOffline()
修复模型 save() 处理自动填入创建时间 (#285)
Published by Yurunsoft over 2 years ago
移除 Swoole 短名称检查检查,不启用也可以使用 imi (#281)
增强 Content-Type 识别能力
修复 Workerman Gateway worker 中,WebSocket 连接事件处理抛出异常不会断开连接的问题 (#286)
修复 Async 中 SwooleResult->get() 不会层层获取最终结果 (#283)
修复存在多个空 WhereBrackets 时构建错误 (#284)
修复 Call to undefined method XXX::checkCodeIsOffline()
Published by Yurunsoft over 2 years ago
Full Changelog: https://github.com/imiphp/imi/compare/v2.1.1...v2.1.2
Published by Yurunsoft over 2 years ago
Full Changelog: https://github.com/imiphp/imi/compare/v2.0.23...v2.0.24
Published by Yurunsoft over 2 years ago
过年前我们发布了 imi v2.1.0,这段时间里持续迭代更新,继续为大家提供强大可靠的框架功能。
专门为大家提供了 v2.0-v2.1 升级指南:https://doc.imiphp.com/v2.1/base/version/2.0-2.1.html
升级指南会随着版本迭代而更新,方便大家升级以及了解新特性!
增强 vendor 目录获取 (#254)
新增 \Imi\JWT\Facade\JWT::validate()
方法
支持定时任务的最小、最大延迟执行秒数 (#256)
Swoole WebSocket Server 支持 syncConnect
(#257)
模型注解 JsonEncode
增强,增加 JsonDecode
注解 (#262)
支持为数据库连接设置表前缀 (#263)
新增 Model::exists()
用于判断记录是否存在 (#264)
新增环境变量 IMI_MACRO_LOCK_FILE_DIR
以支持在共享目录等不支持文件锁的文件系统中运行 (#265)
支持 IMI_MACRO_OUTPUT_DIR
(#269)
支持设置字段为 createTime
,插入记录时自动设置时间 (#270)
移除没有用到的 ErrorLog->backtraceLimit
重构优化一些代码 (#266)
修复开发时组件更新版本问题
修复宏定义若干问题 (#253)
修复 coredump
修复队列事件触发 (#260)
修复 whereBrackets()
返回一个 Where 对象时值绑定无效 (#261)
修复 jwt 组件抛出的异常
修复 MySQL 8.0 生成模型的兼容问题 (#267)
修复 Swoole 5.0
修复官网在Safari浏览器下的bug (#271)
Published by Yurunsoft over 2 years ago
\Imi\JWT\Facade\JWT::validate()
方法ErrorLog->backtraceLimit
修复开发时组件更新版本问题
修复队列事件触发 (#260)
修复 whereBrackets()
返回一个 Where
对象时值绑定无效 (#261)
修复 jwt 组件抛出的异常
修复 MySQL 8.0 生成模型的兼容问题 (#267)