问题描述 这两天遇到个奇怪问题,对接支付的回调时要验签,解析公钥准备验签时一直报error:0909006C:PEM routines:get_name:no start line,我是windows开发环境用的phpstudy-8.0,openssl版本1.1.1i,以后是我环境问题,后来又去liunx服务器上试了下也是同样错误,服务器是宝塔Php-7.4,openssl版本1.0.2u,然后我又在windows电...
问题描述 文档快捷函数中提到的admin_rules方法在整个项目中都没有搜索到 https://www.workerman.net/doc/webman-admin/development/api.html 程序代码或配置 /** 获取当前管理员权限 @return array */ function admin_rules(): array {} ...
问题描述 A、B服务器可以通过内网IP访问,A服务器和客户端建立连接,B服务器想通过sendToClient给客户端发消息, A、B的process.php要怎么配置呢 return [ 'gateway' => [ 'handler' => Gateway::class, 'listen' => 'websocket://0.0.0.0:7...
问题描述 webman使用GatewayWorker插件,逻辑代码在event里,服务端和客户端通过长连接建立,建立成功时会创建一个定时器,每X秒去redis里获取消息发给客户端,现在问题是服务器推送代码后框架会自动更新代码reload,这时进程中的定时器会被清掉但长连接又没断掉所以客户端也不知道该不该重新连接 看了下redis队列插件,逻辑代码又必须写在插件规定的目录和方法里 是目前解决定时器的问题还是换成redi...
问题描述 自己部署的AI助手访问报错 It is recommended to upgrade to the latest PandoraNext: https://github.com/pandora-next/deploy 是填写了通义千问APIKEY后出现的问题,但不确定是否有关联...
问题描述 发送消息如果不走进判断里关闭连接时可以获得$_SESSION数据,但进判断里就得不到了。 public static function onMessage($client_id, $message) { $msg = json_decode($message,1); $_SESSION['closeFlag'] = 123; if(!is_array($msg)){ ...
问题描述 一个项目中能在process中配置多个gateway、worker、register吗? 想的是有多个业务进程 为此你搜索到了哪些方案及不适用的原因 大意了,端口还没改到...
问题描述 在webman的自定义进程中设置了长连接,每个进程首次连上时timer会+1,第二次同一个进程就不会加了。 但是我代码中没有设置定时器,后来一步步定位到有一行代码调用了公共方法,方法里是先查redis有没有数据,有数据直接获取并返回,没有就查数据库存redis再返回。 能确定的是redis有数据,但没想明白为何走了这段代码timer就会+1,方法引用了support\Redis 最新发现,只要在onMes...
问题描述 咨询个与框架无关的问题,做游戏项目时需要保存用户的积分值且在每局结束时实时返回排名和积分值。这块用的是redis zset,但有个问题是游戏中关数很多,积分值也会很大(就是超过16位数),score中保存整数值超过16位后精度丢失排序也会不准。...
问题描述 公司有个业务是这样的,python客户端有数据时(大概1秒1次)会请求服务器进行业务处理(只涉及redis),连接是通过http短连接,有3台服务器通过阿里云做负载,看了status每台机器每秒qps不到10。 现在问题是客户端连接时经常报 Connection aborted.', TimeoutError(10060, '由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。', Non...
问题描述 业务是这样的,通过自定义进程起的长连接,在onmessage里怎么每日0点给在连接着的客户端传消息。 不算是最优解的办法。因为要区分平台,某些平台需要在0点推送,在onmessage里$conn对象保存平台,在对应平台里起Crontab...
问题描述 用户请求接口开启推送任务,服务端收到后回调用户地址推送消息(不用长连接) 用户请求接口停止推送任务,服务端收到后停止回调用户地址 用户有几十上百,是用定时器还是其他方法呢? 如果用定时器停止时如果和定时器不在同个进程只凭定时器ID能否删除定时器? 为此你搜索到了哪些方案及不适用的原因 暂无...
问题描述 公司项目使用webman,测试一个回调接口,目前没走业务,直接返回一个状态值 压测工具siege,50客户端100并发 压测和被压测服务器为4核16G,均按照手册优化内核 回调方要求1000qps,这是只能加机器了么 另外https性能这么差么,换了好多算法没什么用 使用内网IP时 使用外网IP时 使用域名(http)时 使用域名(https)时 为此你搜索到了哪些方案及不适用的原因 无...
问题描述 项目中内核记录的日志比较重要,但一天生成的内容很多,一天一个文件大多在百兆,怎么设置成X小时1个文件呢 为此你搜索到了哪些方案及不适用的原因 没有 找到在哪设置了,RotatingFileHandler.php里FILE_PER_DAY设置为'Y-m-d H',但这是改了源码了,不知道在config/log.php里是怎么设置的 上面虽然找到了解决方法但是实际操作下来发现还是有问题,表现是虽然按小时生成...
问题描述 框架自动的reload会断开长连接且不执行onclose方法 为此你搜索到了哪些方案及不适用的原因 没有找到 自己傻B了,windows不支持平滑重启...
问题描述 因为业务需要在默认账号写入数据后,前端需要用只读账号消费数据,在配置里设置了只读账号后服务器上能登录这个账号,但在本地测试远程登录时显示 RedisException: WRONGPASS invalid username-password pair or user is disabled. in xxxx\vendor\illuminate\redis\Connectors\PhpRedisConnect...
问题描述 安装了topthink和taoser的验证器 本地windosw环境运行无异常,一上到liunx服务器上就报错 程序代码 namespace app\validate; use taoser\validate; class XXX extends validate { } 报错信息 Error: Class 'taoser\validate' not found in 操作系统及workerman/w...
问题描述 使用webman的自定义进程提供长连接服务,在修改其中代码后希望已有的长连接不断,新启动的长连接执行新代码 为此你搜索到了哪些方案及不适用的原因 问答里都是基于workerman的且时间较长了...
问题描述 使用redis-queue插件,消费时其他方法如何获取这条数据 <?php namespace app\queue\redis; use Webman\RedisQueue\Consumer; class MyMailSend implements Consumer { // 要消费的队列名 public $queue = 'send-mail'; // 连接名,对应 ...