workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
分享
基于开源workerman开
发
的在线客服系统源码-99客服
客服源码开源未加密,可
二
次开
发
,无IP域名等部署限
制
。超高性能,超级稳定。支持智能分流 * 支持
发
送
文字、语音、表情、图片、文件 * 支持微信公众号/微信小程序 * 支持客服分组 * 支持客服转接 * 支持设置客服常见问题 * 消息提醒 * 已读回执 * 消息撤回 * 黑名单* 用户
数
据
对接 * 用户备注 * 访客离线提示 * 问候语 * 其它功能... ## 核心优势 1.- 支持自定义功能扩展与深度
二
次开
发
2.[客服访客端效果图](/upload/img/20251205/05693299ad0ed0.png) ## 部署教程 此系统部署非常简单,根
据
引导页面填写
数
据
库信息和管理员信息即可,具体参考[PHP
问答
如何向http客户端
发
送
大文件(几百兆 1个多G)?
如何向http客户
发
送
几百兆 1G的大文件?PHP读取大文件一般采用每次读取一块字符串,至到文件结束。问题是向浏览器
发
送
第一块后http协议就会关闭会话,后续块无法
发
送
。
分享
深入理解 PHP 高性能框架 Workerman 守护
进
程原理
守护
进
程顾名思义就是能够在后台一直运行的
进
程,不会霸占用户的会话终端,脱离了终端的控
制
。相信朋友们对这东西都不陌生了吧?如果看了这段代码且细心的朋友,会
发
现为什么 posix_setsid 这个函
数
不放在第一次 Fork 前调用,而在第
二
次 Fork 前调用呢,这样的话就不用 Fork 两次了?if (-1 === \posix_setsid()) { throw new Exception("Setsid fail"); } // 现在会
发
现
进
程组ID 和 会话ID 都变成了echoMsg("child1"); // 第
二
次 Fork
进
程 // 这里需要
二
次 Fork
进
程的原因是避免被终端控
制
进
程所关联,这个
进
程 61052 是在终端的模式下创建的 // 需要脱离这个
进
程Exception("Setsid fail"); } // 第
二
次创建
进
程,在基于 System V 的系统中,通过再次 Fork 父
进
程退出 // 保证形成的守护
进
程,不会成为会话首
进
程
问答
线上出现报错 Memory allocation error:
#### 问题描述 线上打包
二
进
制
部署项目, 一个接口出现报错 ```sql PDOException:SOLSTATE[HY001]: Memory allocation error: 1038 0utpage_size); $total = $paginator->total(); $items = $paginator->items(); ``` #### 截图报错信息里报错文件相关代码
数
据
库设置
问答
始终无法解决onMessage接受大量
数
据
写入redis或者GlobalData共享组件阻塞问题。
考虑了多
进
程的问题,但是维护很麻烦。我是在一个
进
程下有很多Connection链接
数
,导致接受的
数
据
像写入到其他地方,严重阻塞了当前主
进
程,延迟非常严重。
问答
二
进
制
打包以后,CURL error 77: errorsetting certificate verify [已解决]
 ``` CURL error 77: errorsetting certificate verify locations:CAfile:/etc/ssl/certs/ca-certificates.crt CA path:none(seehttps://curl.haxxse/libcurl/c/libcurl-errors.html) for https://api.mch.weixin.qq.com/v3/pay/transactions/jsapi ``` 已解决 需要去网站下载这个文件 http://curl.haxx.se/ca/cacert.pem 然后重命名 ca-certificates.crt 最后上传到Linux /etc/ssl/certs目录下
问答
webman消费
进
程
'handler' => Webman\RedisQueue\Process\Consumer::class, 'count' => 8, // 可以设置多
进
程'/queue/redis' ] ] ]; ``` 您好 请问这个
进
程是全局设定吗? 比如 我有一个 邮件
发
送
队列 还有其他队列 这个多
进
程 所有队列都8
进
程吗?能单独分开吗
问答
gatewayworker
+thinkphp6经常出现websocket断开重连的情况
[子服务器](/upload/img/20250524/2468317a72767a.png "子服务器") 机器连接
数
到400左右后就会有机器经常出现websocket断开再重连的情况 ,结果就导致前端页面查询时在线
数
时时都在跳动为此我在这边社区找了不少帖子,然后根
据
帖子对
gatewayworker
的
进
程
数
量,心跳,消息队列都有过调整,但是都没有效果。 欢迎各位大佬多多指点。。
问答
workerman返回
数
据
不对
workerman有时连上返回的
数
据
不对,好像是之前改过的版本 !
问答
onMessage接收
数
据
乱码
直接将message信息输出 到日志 查看,接收
数
据
前面有乱码字符。 请问一下这需要怎么处理?
问答
求教,内网通讯正常,外网通讯会重复应答?
在内网
发
送
udp
数
据
的时候,返回会正确。
发
送
55555,返回1  但是通过外网
发
送
数
据
的时候,返回的
数
据
会重复。如下: !
问答
获取mysql字段类型为
数
字时
发
现win版和linux版不一样,像是BUG?
在win版测试了很久,一切OK,今天很高兴的部署到linux版,结果前端程序却报错,很是奇怪,找了半天是这个问题,如下图,有这样一个
数
据
库里的表 [attach]640[/attach] 登录成功后,wokerman通过官方提供的MySQL组件去拉取
数
据
然后返回给前端,前端根
据
数
据
显示或
进
行相关逻辑。win版返回的是这样的 [attach]641[/attach] 比如money这个字段,因为
数
据
库里是int类型,所以返回的是纯
数
字,我再前端
进
行
数
字加减没有问题 但是linux返回的是这样的(前端后端
数
据
库和
问答
webman使用laravel分页查询,只能查到第一页
数
据
,第
二
页之后的都是显示第一页的
数
据
根
据
指引 https://wenda.workerman.net/question/5872 使用laravel分页查询,最新版本,webman也是最新版本
问答
宝塔
进
程管理器启动webman如何关闭调试模式
#### 问题描述 宝塔
进
程管理器启动webman,命令:/www/server/php/82/bin/php start.php start 启动成功后控
制
台提示以debug运行。[](/upload/img/20250904/0468b93649c013.png) 如果我加了-d,宝塔
进
程管理器又识别不到服务启动成功了。只是会在控
制
台展示输出信息么?#### 为此你搜索到了哪些方案及不适用的原因 根
据
官方文档的提示,部署webman的时候是不需要加-d参
数
的,但是不加的结果又有点让人迷惑(为什么是debug模式)。
问答
Gateway websocket 无限向客户端
发
送
信息导致客户端卡死
[](//www.workerman.net/upload/20201024/245f938d2f116e.png) 客户端链接GateWay后 无限向客户端
发
送
消息 怎么解决 Events.php onMessage无限向客户端
发
送
消息 导致客户端卡死
问答
原生php如何实现master
进
程监听或者管理work
进
程超时的情况
需求是这样的,维护一个老版本的yii2框架中的
进
程管理器,需要加入超时kill和重试逻辑。但是看了部分文档,现在了解到alerm信号可以实现超时关闭,但是只能实现的是work
进
程自己
发
自己接受,有没有办法放到master
进
程
进
行超时管理? 今天有了解可以使用通道实现
进
程间的通信。具体的使用我的理解是创建个文件往里面写时间和超时时间,master取
数
据
进
行判断,然后kill掉子
进
程。根
据
管道方法的话,现在有疑问如下: (1)比如一个master,5个worker的情况下,文件需要创建几个? (2)
进
程重启或者关闭后,文件是不是需要删除掉?里面的
数
据
格式有什么需要注意的? (4)有没有前辈探索过并且写过相关demo的,有个文章能看最好了。
问答
globaldata问题 大家
进
来看看吧
很奇怪,赋值了 ,我单独开个页面打印,第一次运行有时候出来有时为空 第
二
次出来 第三次为空 第四次出来 第五次出来 第六次为空 好奇怪。还有cas 我不能用do while一用历史值一直都存在 所以截图没用 到时候满足我的需求 关键就是刷新有时候为空 有时候是好的 好奇葩 我的需求就是储存
数
据
数
据
更新替换最新值
文档
connections
.) ``` 此属性中存储了**当前
进
程**的所有的客户端连接对象,其中id为connection的id编号,详情见手册[TcpConnection的id属性](..```$connections``` 在广播时或者根
据
连接id获得连接对象非常有用。.')```
发
送
数
据
。 注意:如果连接关闭(触
发
onClose),对应的```connection```会从```$connections```
数
组里删除。'/vendor/autoload.php'; $worker = new Worker('text://0.0.0.0:2020'); //
进
程启动时设置一个定时器,定时向所有客户端连接
发
送
数
据
,
发
送
当前服务器的时间 foreach($worker->connections as $connection) { $connection->send
问答
workerman 可以同时做websocket监听和http的监听吗
#### 问题描述 A浏览器websocket
发
送
和接收
数
据
, B浏览器http获取
数
据
,通过websocket服务
发
送
到A,这种可以做吗
问答
GatewayWorker
数
据
库连接
在events引入封装好的mysql类,报错mysql_connect是个未定义方法
« 上一页
1
...
71
72
73
74
75
76
77
78
...
447
下一页 »
« 上一页
74
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝