zhamao-robot / zhamao-framework

协程、高性能、灵活的聊天机器人 & Web 开发框架(炸毛框架)
https://framework.zhamao.xin
Apache License 2.0
158 stars 26 forks source link

处理 websocket 消息时出现异常: creation of dynamic property OneBot\V12\Object\ActionResponse::$echo is deprecated #292

Closed test-lin closed 1 year ago

test-lin commented 1 year ago

受影响版本

3.0.0

描述

)7%~T4(KCEDXTN}F%5LO$G3

复现步骤

一键安装后,程序运行,连接上 walle-q-x86_64-linux-musl-v0.2.5-fix2 后,产生的异常

解决方案

我当前的解决方法是注释掉 OneBot\V12\Object\ActionResponse::$echo 属性,不知道有没有其他影响

附加信息

No response

sunxyw commented 1 year ago

感谢你的反馈。 这里是因为我们使用 PHPDoc 定义 echo 参数,并没有明确在类中定义,导致在 PHP 8.2 或以上版本中会出现弃用报错(因 PHP 8.2 移除了对于动态类属性的支持),我们将会尽快修复。

我不太建议你直接移除该段赋值代码,因为缺少 echo 属性可能会导致部分动作的响应无法处理。 建议在 vendor/onebot/libonebot/src/OneBot/V12/Object/ActionResponse.php 文件中的类中添加 public mixed $echo 属性作临时修复。

crazywhalecc commented 1 year ago

这个问题有啥办法解决呢,除了声明一个。

sunxyw commented 1 year ago

此问题已在 https://github.com/botuniverse/php-libonebot/pull/94 修复,并将随下次版本更新释出。