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 almost 2 years ago
Published by Yurunsoft almost 2 years ago
使用 Swoole Compiler 加密 imi 的说明:https://doc.imiphp.com/v2.1/production/swoole-compiler.html
欢迎体验 imi 微服务生态:https://doc.imiphp.com/v2.1/components/config/center.html
兼容 PHP 8.2 (#441)
支持 PHP 8.2 交叉类型
支持只读类
优化 fpm 的路由初始化触发逻辑
为密码参数添加 \SensitiveParameter 注解,标记为敏感参数
移除无用属性
修复 DelayServerBeanCallable 类序列化
修复 --app-runtime 启动参数
Published by Yurunsoft almost 2 years ago
修复 DelayServerBeanCallable 类序列化
修复 --app-runtime 启动参数
Published by Yurunsoft almost 2 years ago
支持 AOP 切入带有引用返回值的方法 (#450)
对更多 int、float、bool 类型配置参数值进行类型转换
优化:默认上下文管理器,在脚本执行结束时自动销毁上下文
修复模型和数据库查询结果对象的 getArray() 方法,传 $className 时的兼容性 (#447)
修复 Workerman 守护进程模式运行,记录日志导致进程退出重启 (#451)
修复请求上下文销毁(php-fpm、roadrunner)及事件触发(非 Swoole) (#452)
修复 RoadRunner 每次请求完毕没有释放请求上下文
修复测试
Published by Yurunsoft almost 2 years ago
修复测试
修复请求上下文销毁(php-fpm、roadrunner)及事件触发(非 Swoole) (#452)
修复 RoadRunner 每次请求完毕没有释放请求上下文
优化:默认上下文管理器,在脚本执行结束时自动销毁上下文
修复 Workerman 守护进程模式运行,记录日志导致进程退出重启 (#451)
Published by Yurunsoft about 2 years ago
服务发现(负载均衡):https://doc.imiphp.com/v2.1/components/serviceDiscovery/index.html
调用链路追踪 OpenTracing(Zipkin、Jaeger):https://doc.imiphp.com/v2.1/components/tracing/opentracing.html
重构骨架项目:增加模块划分、自动格式化、代码静态分析、自动化测试,更加符合实际项目的开发
Imi\Grpc\Util\ProtobufUtil::setMessageData() 增加参数 $ignoreUnknown,可以忽略未知字段
新增 Imi\Grpc\Util\ProtobufUtil::newMessage() 和 Imi\Grpc\Util\ProtobufUtil::newMessageArray()
增强 BeanFactory::getObjectClass() 支持字符串
增强 Column 注解的 createTime、updateTime 支持传入 int 值,表示时间精度,仅 bigint、int8 有效 (#445)
优化连接池轮询负载均衡增加初始的随机
优化 Redis 重置连接时,判断切换了库后才执行 select() (性能提升🚀)
优化 Imi\Log\Log::get() 设置 $channelName 参数默认值为 null
移除消息队列消息类中的 retryCount、maxRetryCount (#444)
优化了一些代码
修正类型注释
修复在非服务器上下文中,使用服务器容器实例化对象,无法注入属性
修复长连接 DataParser 在特定场景下获取错误
文档修复
修复 Workerman 长连接连接时没有创建连接上下文
Published by Yurunsoft about 2 years ago
修复 Workerman 长连接连接时没有创建连接上下文
更新文档
优化 Redis 重置连接时,判断切换了库后才执行 select()
修复长连接 DataParser 在特定场景下获取错误
修复在非服务器上下文中,使用服务器容器实例化对象,无法注入属性
修正类型注释
修复 Condition 注解的 callable 无法使用 ['$this', 'methodName'] 格式的值 (#436)
修复测试
Published by Yurunsoft about 2 years ago
新增数据库迁移:https://doc.imiphp.com/v2.1/components/orm/migration.html
支持在非 cli 环境执行 Imi\Util\Imi::getImiCmd()、Imi\Util\Imi::getImiCmdArray()
删除多余代码
更新 workerman http 协议处理类
修复 Condition 注解的 callable 无法使用 ['$this', 'methodName'] 格式的值 (#436)
修复 NFS bad interpreter: Text file busy
修复特定场景启动 workerman 会无限刷报错信息
修复视图生成模型后的 DDL SQL 为空
Published by Yurunsoft about 2 years ago
修复 Condition 注解的 callable 无法使用 ['$this', 'methodName'] 格式的值 (#436)
删除多余代码
修复 NFS bad interpreter: Text file busy
修复视图生成模型后的 DDL SQL 为空
Published by Yurunsoft about 2 years ago
修复执行定时任务时抛出 PDOException 无法正确捕获并二次抛出异常 (#431)
Update index.md (#428)
Published by Yurunsoft about 2 years ago
优化代码
修复 Swoole RedisServerUtil 在集群模式时报错 (#425)
修复 kill Swoole 进程池时不会 wait 子进程
修复 AMQP 消费者心跳
Published by Yurunsoft about 2 years ago
修复 Symfony 5.4.12 出现 Ctrl+C 无法停止服务
修复 jwt 测试用例中不规范的密钥长度 (#413)
优化代码
修复 Swoole RedisServerUtil 在集群模式时报错 (#425)
Published by Yurunsoft about 2 years ago
Published by Yurunsoft about 2 years ago
新增请求上下文缓存驱动 (#415)
支持 WebSocket 二进制协议 (#416)
修改文档jwt生成私钥命令长度 (#414)
docs: 更新参数注释,方便ide (#418)
Published by Yurunsoft about 2 years ago
优化 Swoole Process 平滑停止
修正注释兼容性
Published by Yurunsoft about 2 years ago
新增 gRPC 的 HTTP 代理网关 (#402)
新增命令行工具的 --bootstrap
参数
支持在 Swoole BASE 模式下获取所有 Worker 连接数 (#411)
支持模型增量更新 (#410)
优化连接池获取连接后的资源断开检测
优化了一些代码
修复 Serializable 注解在关闭驼峰命名时不生效 (#405)
修复 Facade 生成器和请求上下文代理类生成器 (#407)
修复表注释开头是 @ 字符时,生成模型后报错 (#408)
增加 Swoole 5.0 测试 (#400)
更新代码检测 (#404)
修复 amqp 偶发测试无法正常停止
更新一些文档
新增文档:单端口支持 WebSocket+Http
Published by Yurunsoft about 2 years ago
修复 Serializable 注解在关闭驼峰命名时不生效 (#405)
修复 Facade 生成器和请求上下文代理类生成器 (#407)
修复表注释开头是 @ 字符时,生成模型后报错 (#408)
Published by Yurunsoft about 2 years ago
优化一些代码
优化声明类型的属性默认值
删除无用文件
修复注释
修复模型非驼峰命名的兼容问题
修复 kill php-fpm 的 fpm/start 命令有进程残留的问题 (#397)
修复 Swoole 进程池的子进程崩溃无法重新拉起 (#395)
修复gprc客户端文档调用错误问题 (#392) by @mrlovables
fix:修复httpApi调用rpc服务时启动项目重名报错问题 (#394) by @Hammer-7
Update grpc.md (#393) by @Hammer-7
Published by Yurunsoft about 2 years ago
修复注释
修复 kill php-fpm 的 fpm/start 命令有进程残留的问题 (#397)
修复gprc客户端文档调用错误问题 (#392)
fix:修复httpApi调用rpc服务时启动项目重名报错问题 (#394)
Update grpc.md (#393)