workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
openssl_get_publickey解析公钥报错【解决】
#### 问题描述 这两天遇到个奇怪问题,对接支付的
回
调时要验签,解析公钥准备验签时一直报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,然后我又在我开始怀疑是因为我直接复制的公钥赋值在变量中因为格式原因报的错,然后用命令
生
成了公钥文件file_get_content来调用公钥,然而还是报错。2天了我怎么都想
不
通哪有问题,如果宝塔有问题装机量这么大
不
会没有人提出,但是用命令行又能解析 -------------------------- 散了吧,支付平台示例
不
完整和客服讨论了半天解决了,也
不
是
分享
Forum 论坛项目 极致【性能优化】总结分享
这歌个场景是空间换时间和时间换空间的相互配合的结果, 首先是开启Gzip后,返
回
的前端资源会减少80%以上的大小。这很利于利用有
效
的带宽在未来为更多的人提供服
务
其次是[GooseForum](https://gooseforum.online)本身的前端资源是通过golang embed 嵌入到项目之中的,所以把所有文件Gzip后存到内存中数量也是非常有限的,所以
不
用担心oom(内存泄露)的发
生
,并且Gzip本身还是会消耗
不
少的cpu甚至大于许多接口页面本身的逻辑,所以这里是非常值得这样优化的。- 2 项目中每个作者的热点文章也是
不
同的,这里采用类似 user 缓存的策略,但是这里
不
会去主动reload最新数据,因为这里的实
效
性是低于user的(毕竟用户更新了数据,但是发现右上角头像没变会让人当成,
不
会立刻写入,同时还有一个附加逻辑,就是如果这个异步任
务
创建了已经超过了45s但是还没有写入,就会强行写入,否则判断活跃时间是否超过15s 即可,这样会极大减少用户写入的频率。
问答
在中间件中需要
不
改变浏览器url的前提下将请求提交到其他控制器
#### 问题描述 在中间件中需要
不
改变浏览器url的前提下将请求提交到其他控制器,为什么使用 $request->controller后没
效
果呢 #### 为此你搜索到了哪些方案及
不
适用的原因
问答
如何使用web端向TCP服
务
器发送消息?
目前有一个需求是建立一个TCP客户端,与远端的TCP服
务
端交互。为了方便使用,需要web端发送信息,然后后端将信息发送给TCP服
务
端,并与之交互,交互结果发送给web端 初步的想法是, 1.建立websocket服
务
端,与前端进行交互 2.websocket服
务
端接受到前端发送的数据后,在发送给TCP服
务
端 3.TCP服
务
端返
回
的数据,经过处理,再通过websocket推送给前端 代码如下 ```php use Workerman\Worker; require_once __DIRAsyncTcpConnection('tcp://127.0.0.1:8050'); $conn->onMessage = function($conn, $data) { //这里与tcp服
务
器交互); }; $worker->onMessage = function ($connection, $data) { //此处接受网站发送过来的websocket //如何在此处向子进程的tcp服
务
器发送消息
问答
THINKPHP相关的咨询
我是半路出家自学it,用的thinkphp,服
务
器上有10多个thinkphp的站点,用的wdcp管理。。。。 我其中一个站点A启动了workerman相关的服
务
,是
不
是对所有的站点都有
效
????如果是的话:站点B与站点A的用户CLINTID绑定的UID以及群组GroupID是
不
是要设置成
不
一样????
不
然会
不
是出现A站点发信息到B站点去了(如sendToAll)???
问答
webmancrontab定时任
务
堆积问题
#### 问题描述 我举例个场景,我起了一个5秒一次请求的定时任
务
,任
务
中5秒后业
务
代码还没执行完,这时候会
不
会出现没有执行完,就启动下次任
务
,这样子久而久之造成堆积呢?#### 为此你搜索到了哪些方案及
不
适用的原因 我自己的见解就是,在一次任
务
中,使用请求库中的并发请求来调用接口通知
问答
客户端使用socket_write()定时发送心跳以后,就
不
能使用socket_recv()接收workerman主动发送的数据
客户端使用socket_write()定时发送心跳以后,就
不
能使用socket_recv()接收workerman主动发送的数据: 我是使用客户端主动发送数据给workerman的服
务
器端,下面是代码\n"; connect(); } sleep(15); }while(TRUE); ``` 这个只能客户端发送数据,服
务
端
回
复一条数据,当服
务
端主动发送一条数据的时候就无法通过
问答
关于服
务
器配置SSL的问题(站点与Socket各一台服
务
器)
站点放在腾讯云,Socket服
务
放在机房,连接时需要使用域名,请问Socket服
务
应该怎么部署SSL。 Socket服
务
器
不
论如何配置,站点都无法连接成功。
问答
压力测试GatewayWorker的并发连接结束后,其中一个gateway进程cpu一直长期100%
#### 问题描述
生
产环境是2台16核32G的配置,按照手册分布式部署,配置gateway进程16个,和worker进程数100个, 使用压力测试系统并发2000个链接,只链接,
不
发送业
务
处理。在压力测试下,gateway进程cpu个别跑满,其他的也大都在70%,压力测试关掉后很长一段时间,有一个gateway进程cpu始终100%,其他gateway进程cpu基本
回
落到0,该状态下,业
务
系统可以正常链接上我们之所以做这个压力测试,是为了复现我们业
务
异常并发下,也同样导致了gateway的某个进程cpu跑满,而其他进程都很空闲,
不
知道是什么原因,而业
务
系统处于无法收发的状态下。gateway框架也没有任何异常报错,服
务
器整体cpu还低于20%。
问答
【已解决】webman多域名绑定多应用的伪静态如何做?
return [ 'enable' => true, // 多应用绑定关系 'bind' => [ 'admin.abc.com' => 'admin', //
不
属于任何应用'www.abc.com' => 'cn', // 绑定到admin应用 ], // 绑定关系,域名,应用的验证逻辑,返
回
true时认为符合绑定关系,反之
不
符合返
回
404 'check' => function ($bind, $domain, $app) { // 域名存在大写时 检测会失
效
$bind =
问答
关于WEB消息推送框架,用户下线,发送消息,http返
回
的仍然是ok
给用户发送消息,我在发送消息之前,让用户断开socket连接(用户下线),然后使用WEB消息推送框架给下线用户发送消息,但是其中return $http_connection->send('ok');这个地方返
回
的仍然是ok,
不
应该是fail?
问答
短连接给用户推消息方案
#### 问题描述 用户请求接口开启推送任
务
,服
务
端收到后
回
调用户地址推送消息(
不
用长连接) 用户请求接口停止推送任
务
,服
务
端收到后停止
回
调用户地址 用户有几十上百,是用定时器还是其他方法呢?如果用定时器停止时如果和定时器
不
在同个进程只凭定时器ID能否删除定时器? #### 为此你搜索到了哪些方案及
不
适用的原因 暂无
问答
webman文件上传获取
不
到文件大小
://www.workerman.net/doc/workerman/http/request.html#获取上传文件] ### 获取上传文件 $files = $request->file(); 返
回
的文件格式类似> 1196127, 'error' => 0, 'type' => 'application/octet-stream', ) ) 可以返
回
这个信息,我主要想用的是size 因为
不
同时候,上传大小限制的maxsize
不
同,需要在这里做判断 但是在 webman 里使用file(),得
不
到size webman关于这块的文档里也没有。
问答
GatewayWorker模式下是否支持MQTT的多个订阅者订阅同一TOPIC,而
不
重复订阅?
### 背景 worker,您好,最近在做一个物联网项目,使用的是MQTT协议的sub订阅/pub发布模式,自建了MQTT服
务
器,物联设备上报消息,然后MQTT客户端服
务
器订阅设备上报的消息并发布返
回
/#### 问题描述 当MQTT客户端服
务
器(订阅者)连接数超载需要用到分布式时,能否使用GatewayWorker的方式,以MOTT客户端服
务
器作为Worker服
务
和Gateway服
务
器通信?#### 为此你搜索到了哪些方案及
不
适用的原因 有查询到MQTT客户端服
务
器(订阅者)分布式方案:可以使用共享订阅的方式来解决多个订阅者订阅同一个topic的方案。现在想了解下能否用GatewayWorker这种模式实现多个订阅者订阅同一个topic,而
不
重复订阅的方法。
问答
内网穿透折腾半天(是我服
务
器配置比较复杂)【已解决】
#### 问题描述 买了官方的内网穿透功能,由于我服
务
器架构比较复杂,所以出现了许多问题。首先是反向代理机器,转发到 业
务
机器,业
务
机器里面又是docker 搭到环境,php一个容器,nginx 一个容器。最终结果就是, ``` 2023-10-06 16:56:37 内网穿透服
务
端:接受内网配置下发客户端连接 Ip:172.18.0.6:50814 object(Workerman\Connection> 'setting', 'setting' => $items], JSON_UNESCAPED_UNICODE)); ; ``` 可我本地的nat-client 收
不
到下发的消息实在是折腾太久, 请各位大佬给点思路,怎调试 #### 解决方案 泛解析没
生
效
。折腾半天,哎。其他配置没问题。
问答
小蝌蚪聊天室修改
不
了名称,而且一会儿出现与服
务
器断开连接了
不
管按什么键都
不
能弹出修改名称的框 而且我
不
移动鼠标一会儿就出现 与服
务
器断开连接了,您可以重新刷新页面。 我用几个浏览器打开,周围也
不
会出现新的小蝌蚪 求指教
问答
windows下
不
能把echo日志记录到文件里吗
windows 启动已经加上 -d 但是所有的echo还是在终端上输出 是因为-d 在windows上没有
效
果吗
分享
我的第一个Webman插件 - 基于Redis Stream实现的消息队列插件
定时任
务
: 延时消息可以用来实现定时任
务
。例如,你可能想在未来的某个时间点执行特定操作,如发送提醒、更新状态等。 2. 延迟处理: 在某些情况下,立即处理消息并
不
理想或可能。$consumerMessage->disableFailRetry(); // 添加日志等等 // 如果在消费方法中自行捕获 Throwable 此
事
件
不
会触发}); // 业
务
逻辑执行完毕,ack确认消息 默认自动ack,但通常建议在业
务
逻辑中显式调用,比如ack失败进行
事
务
回
滚
等等。> 默认情况下需要配置有
效
的日志(log.php) 默认行为才有
效
。也可以通过重写方法完全自行实现,记录在业
务
的数据库中,这也是推荐的做法,可以针对业
务
实现更加灵活的异常处理。> 当`autoDel`属性为`true` > 时,消息会自动删除,无法对历史数据进行处理和分析,如果业
务
需要对历史队列消息进行
回
溯请设置为`false` **代码示例:** 这里我们使用了`webman
问答
phpsocket.io 与 vue-socket问题... 求大佬
客户端发送消息到服
务
端 服
务
端是能收到的。。 并且打印出来 但是
不
知道为什么传
不
回
客户端。。 有大佬解答么。。
问答
偶尔触发,服
务
端接收
不
到数据的问题
#### 客户端发送数据,服
务
端,日志没看到 跑几个小时,就会偶尔出现一次,发送了,但是服
务
端log没有那条id的记录,,都是执行时间比较长的任
务
,可能1~3分钟之间,开启的进程数为20, 但是每次可能会一次性执行数量达到30,,其余的10个应该是在等待,但是有几个id确实长达10分钟在服
务
端都没看到 ```php class Rpc { public function onMessage(TcpConnection
« 上一页
1
...
71
72
73
74
75
76
77
78
...
471
下一页 »
« 上一页
74
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝