问题描述 业务场景:webman开发,提供一个给用户端调用的api接口,实现逻辑如下: 1、把用户提交的数据处理下,然后请求若干个三方系统的http接口 2、根据这些三方接口返回的内容,来生成api接口响应数据 比如,有3个三方接口A、B、C,都有可能返回我想要的数据 如果A响应最快,返回了['IS_A'=> true, 'A DATA' => '...'],那么就直接拿'A DATA'处理下生成接口响应...
我用workerman实验的一个websocket,客户端连接时会在连接中附带一个token,连接成功后,会将token和对应的connection的id保存在服务端,一旦有新客户端用同样的token连接,就会断开连接,并在调用close的时候传递一个消息给客户端,说明断开的原因是相同token的客户端已经连接,但是在调用connection->close('断开原因')后,客户端直接首先触发onError,然...
问题描述 我可以在绑定时候的合法性验证通过client发送到mvc框架去处理,然后把身份信息添加到gateway的session里,然后客户端在其他消息用gatewaywoker的events里去操作可以吗?...
问题描述 由于需要使用apcu扩展,所以自己编译了一份php8.1静态文件,一次编译了php8.1-static和micro.sfx两个文件。 php8.1-static用于开发环境并未出现任何问题,但是将自己的micro.sfx拷贝到build/目录下打包二进制后,二进制文件不能执行,提示"only run in command line mode"。怀疑是编译的时候少东西 编译语句为: $ ...
问题描述 使用tp 安装workerman在worker里面运行 单独运行 while (true) 逻辑 Cache::get set 出现以下错误 在命令行直接运行 php 文件不会出现 在worker里面运行会出现 程序代码 while (true) { sleep(1); Cache::get(); Cache::set(); } 报错信息 RedisException: protoc...
问题描述 两个项目,A项目在docker运行,B项目在php-fpm运行,A项目向B项目推送信息报错 程序代码 报错信息 fwrite(): Send of 113 bytes failed with errno=32 Broken pipe 截图报错信息里报错文件相关代码 操作系统及workerman/webman等框架组件具体版本...
问题描述 多应用下,中间件和异常处理需要在全局的config目录下配置,支不支持或者能不能实现在应用内增加配置文件?比如应用内创建middleware.php和exception.php,这样可以让应用更内聚。 为此你搜索到了哪些方案及不适用的原因...
问题描述 gateway-worker 并发场景下,查询数据库的结果返回混乱. 程序代码 在gateway-worker中实际执行的laravel代码,使用了orm 的with关联, 查询用户A,B的信息: $selfUser = User::query()->with('userInfo')->where(['uuid' => $selfUuid])->first(); info('$sel...
问题描述 CPU占比达到多少需要考虑增加机器呢(避免出现502,无法响应请求的情况) Web业务接口,主要是 Redis MySQL 读写操作,缓存读较多 4C8G 跑8个业务进程...
webman 启动后是把 composer 的包全部加载到内存吗? 想请教一下,启动后是将所有 composer 安装的包加载到内存呢, 还是只加载核心的文件,运行代码的时候,调用 composer 包内容再去动态加载包里面的代码? 主要是我想安装一些额外的包,但是又担心加载的东西太多导致影响速度。...
redis queue 队列,指定了非app的消费目录 消费目录:run_path() ."/diy/queue" 正常php webman start 投递消息可以正常收到并消费 打包为phar 后不能消费 (打包时diy目录没有打包进phar) 程序代码或配置 'redis_consumer_slow' => [ 'handler' => Webman\RedisQu...
问题描述 没有任何操作 出现了一次重启 概率性重启 几个月一次这样 出现服务异常重启 升级版本?还是? 毕竟一两个月一次 影响还不是很大 报错信息 2023-07-31 07:06:47 pid:3104117 Workerman[/game/gameServer/Server/../Games/ludo/start.php] status 2023-07-31 21:39:00 pid:3197219 W...
webman_admin部署nginx显示登录成功不跳转 webman在本地运行都没问题、数据库也都配置没任何问题但出现如下的问题 1.输入登录账号密码显示登录成功,但是不跳转页面; 2.过一会刷新页面后就显示了登录成功后的页面 3.点击退出后菜单列清空但页面停留在当前页并没有跳转登录页 求解。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 操作系统环境 mysql 5.5 php 7.4 nginx ...
一个应用监听了2个端口,如何在2个端口之间互相发送消息? 开启了一个 tcp端口,给设备链接,用于接收设备数据。 开启了一个 websocket,给浏览器链接,用于展示收到的设备数据。 在tcp端口events的onMessage调用Gateway的sendToAll,只能发送到tcp端口的链接。websocket端收不到信息。 请问如何处理~感谢大佬指点指点~...
问题描述 用的是thinkphp8 Workerman是3.5.34 php版本是8.2.12 centos和mac都是 运行一段时间就报这个错误 [error] [8192]Implicit conversion from float 999990.9400939941 to int loses precision[/Users/leilei/www/tp8/vendor/workerman/workerman/E...
问题描述 基础插件可以通过app.php中的enable来控制是否启用 应用插件可以通过在plugin/foo/config/app.php中设置enable来控制是否启用该插件么? 尝试添加后,不起作用 启用、关闭不同的应用插件,主要是为了将目前写的几个webman服务插件化,在打包时,可以方便的组合不同的插件服务 为此你搜索到了哪些方案及不适用的原因 查询应用插件文档,并未发现相应的内容...
问题描述 主页引入 公共的 html文件一直无法解析 程序代码 <!DOCTYPE html> <html lang="en"> <head> <title></title> <link rel="stylesheet" href="/bootstrap/css/bootstrap-4.2.1.css"> <link...
问题描述 我发现安装的redis队列包、event包都是在config/plugin目录下,并且每个目录下有个app.php文件中,可以配置enable,用来开启/关闭对应插件。如config/plugin/redis-queue/app.php中: return [ 'enable' => false, //关闭redis队列插件 ]; 同理自己写的插件都在plugin/目录下面,自己写的应用插件和上...