workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
分享
提一点希望,在B站,腾讯课堂,网易课堂多
发
视频教程,促
进
webman
发
展,
提一点希望,在B站,腾讯课堂,网易课堂多
发
视频教程,促
进
webman
发
展,视频讲座,比文档更加易懂,能够让更多普通人学习webman,
进
而促
进
促
进
webman
发
展。我们看到许多国产如thinkphp、织梦等产品,都是这样
发
展壮大的。
问答
php后台推
送
消息,有时候消息会推
送
不成功
然后呢我为了,测试循环的1000消息推
送
,如果
发
送
的消息量大一些。循环到某一段的时候就会找不到uid,如果
发
送
的消息简单,比如就
发
送
哥 1或者2 1000条消息可以全部顺利
发
送
成, [attach]1328[/attach] 如果
发
送
失败,也应该return
问答
关于多
进
程的一个疑问[posix_kill]终止子
进
程之后,还可以看到子
进
程
fork一个子
进
程,在子
进
程中做while(1)循环,在父
进
程中间隔几秒之后,posix_kill给子
进
程
发
送
终止信号, 最后在ps 命令中还可以看到子
进
程的存在,只有父
进
程退出之后,子
进
程才一起消失liunx 中使用查看命令是: ```shell ps -aux | grep php ps --ppid pid[父
进
程的
进
程号] ps axjf | grep php ``` 代码如下:
问答
supportResponse 报错,啥情况
中 $request->session()->set('captcha', strtolower($builder->getPhrase())); // 获得验证码图片
二
进
制
数
据
$img_content = $builder->get(); // 输出验证码
二
进
制
数
据
return response($img_content,
问答
关于rawBody()原始请求post包体的
数
据
来源
#### 问题描述 一般获取php包体的
数
据
来源可以使用file_get_contents('php://input'), 我看了webman的原始包体请求方式$request->rawBody(),文件位置在Protocols\Http\Request.php中,其中构造函
数
$buffer的
数
据
哪来的,,也没看见实例化的地方,这个
数
据
是什么时候注入的;
问答
进
入deamon模式后
数
据
库报Error while sending QUERY packet
用debug模式运行时没有任务问题,但是只要
进
入deamon模式, mysql就会报> mysql_select_db Error while sending INIT_DB packet.
问答
Workerman如何链接
数
据
库服务
已经安装了mysql组件,对应的
数
据
库服务端口也开了,要在Events类里面去链接的
问答
验证器做
数
据
唯一性验证一直报错,是不支持验证还是我写的有错
#### 问题描述 使用illuminate/database
数
据
引擎,然后使用验证器做
数
据
唯一性验证一直报错,是不支持验证还是我写的有错 Illuminate\Support\Facades\Validator; 验证器使用的这个,应该是安装
数
据
时候自带的 #### 程序代码或配置 ``` $res = $request->post(); //
数
据
验证 $validator){ return $this->ajaxReturn(0,$validator); } ``` #### 重现问题的步骤 其中res是前端表单传过来的的
数
组报错
数
据
如下: !upload/img/20250217/1767b2e54eb4d4.png) #### 操作系统环境及workerman/webman等具体版本 最新版webman 操作系统 windows开
发
系统
问答
tdengine
数
据
库有大佬弄了orm的没
tdengine
数
据
库有大佬弄了orm的没
问答
客户端之间无法通讯
A客户端使用sendToUid方法
发
送
消息给B客户端(2个客户端一个是chrome,一个是Firefox),但是B客户端并没有收到A
发
消息的websocket请求,在A客户端
发
消息之前,使用isUidOnline方法检测
发
送
的目标Uid是在线的  图1
发
送
消息,对方在线 2.See http://doc2.workerman.net/send-buffer-to-worker-fail.html (4)nginx做了访问频率限
制
,客户端
发
起wss连接响应偶尔会报502错误[截图](//www.workerman.net/upload/20200103/035e0ee534f286.png) 图12
发
送
消息的关键
GatewayWorker
代码
文档
onBufferDrain
# onBufferDrain ## 说明: ```php callback Worker::$onBufferDrain ``` 每个连接都有一个单独的应用层
发
送
缓冲区,缓冲区大小由```TcpConnection该回调在应用层
发
送
缓冲区
数
据
全部
发
送
完毕后触
发
。一般与onBufferFull配合使用,例如在onBufferFull时停止向对端继续send
数
据
,在onBufferDrain恢复写入
数
据
。## 回调函
数
的参
数
``` $connection ``` 连接对象,即[TcpConnection实例](../tcp-connection.md),用于操作客户端连接,如[
发
送
数
据
](..connection) { echo "buffer drain and continue send\n"; }; // 运行worker Worker::runAll(); ``` 提示:除了使用匿名函
数
作为回调## 参见 onBufferFull 当连接的应用层
发
送
缓冲区满时触
发
问答
关于
数
据
库配置和git更新代码的问题
#### 问题描述 关于本地开
发
和服务端部署的时候,如何处理服务端和本地的
数
据
库连接信息需要不一致的场景。 **目前webman最佳实践方法是什么呢?之前主要是用yii2框架,他们的方案是gitignore 里加入 *-local.php 这样的 local 配置文件,该类型文件会被git排除,框架引导的时候,会导入-local配置文件,这样服务端和开
发
端都有各自的配置文件,
数
据
库连接之类的配置信息就可以互不干扰了。
文档
调试busy
进
程
```的系统调用,这是在等待fd为16的描述符可读事件,也就是在等这个描述符返回
数
据
。如果没有显示任何系统调用,保留当前终端,重新再打开一个终端,运行```kill -SIGALRM 11725```(给
进
程
发
送
一个闹钟信号),然后看strace的终端是否有响应,是否阻塞在某个系统调用上```是一直在等待http服务端返回
数
据
,这解释了为什么
进
程处于```busy```状态 **解决:** 知道了
进
程阻塞在哪里,接下来就容易解决了,例如上面经过定位应该是业务在调用curl,而对应的url长时间没有返回
数
据
,导致
进
程一直等待。这时候可以找url提供者定位url返回慢的原因,同时应该在curl调用的时候加上超时参
数
,比如2秒没返回就超时,避免长时间阻塞卡死(这样
进
程可能会出现2秒左右的busy状态)。
问答
zend_mm_heap corrupted
#### 问题描述 用的宝塔 supervisor 运行的项目
二
进
制
打包的 /程序目录/webman.bin restart 然后错误日志 有很多zend_mm_heap corrupted
问答
求博主指教workerman的
进
阶历程
但请先看看我的理由 我是一名编程爱好者,主要技能也是php,因为公司需要,自己学习了zookeeper(目的为了实现分布式事务控
制
)。基本也是实现了(
二
阶段提交)。方便其他单位使用,直观查看,控
制
,监控。(github上用来管理zookeeper的大多是Java) 机缘巧合下看到了workerman跟我想实现的类型相似,虽然本质上有区别。也看了博主跟读者的建议<<关于两年php程序员的
进
阶问题>>。我也是做了1年多的php,因为喜欢编程也爱专研,
进
步比一般人快。不想停留在应用层面上,知其然不知其所以然。现在的定位是学习workerman,开
发
自己的开源项目,掌握底层知识。一直以来没有
进
到有大牛的公司,都是自己到处碰壁多动手成长。希望能在博主这取得一些建议,少走弯路。早日成器!
文档
构造函
数
encode编码,然后再
发
送
给客户端,这里加了换行 public static function encode($data) { return $data."(结尾是换行)后,自动执行MyTextProtocol::decode('收到的
数
据
') * 结果通过$data传递给onMessage回调 */ $text_worker->onMessage =function(TcpConnection $connection, $data) { var_dump($data); /* * 给客户端
发
送
数
据
,会自动调用MyTextProtocol::encode('hello world')
进
行协议编码, * 然后再
发
送
到客户端 */ $connection->send("hello world"); }; //success. ``` 打开终端,利用telnet测试(建议用linux系统的telnet) 假设是本机测试, 终端执行 telnet 127.0.0.1 5678 然后输入 hi回车 会接收到
数
据
问答
http server无法
发
送
文件(从github上clone的最新版workerman)
[截图](//www.workerman.net/upload/20210430/30608beef804c0.png) http server无法
发
送
文件(从github上clone的最新版workerman
问答
webman安装
数
据
库后无法启动
composer require illuminate/database 执行上面安装
数
据
库后无法启动 !
问答
webman
数
据
库操作批量多条
数
据
写入批量更新的方法upsert提示Call to undefined method
#### 问题描述 我想批量操作
数
据
库更新一下相关字段的值,如果
数
据
不存在就插入,存在就更新字段,使用了model下的方法,却提示未定义。或者有没有替换的方法,
数
据
量有好几千,不想使用foreach来执行,请教各位大佬有没有好办法。
问答
自定义群组
发
送
消息其他人收不到
#### 问题描述 自定义群组
发
送
消息其他人收不到,但
发
送
完之后服务器有日志记录,请问会是哪里的问题?
« 上一页
1
...
79
80
81
82
83
84
85
86
...
430
下一页 »
« 上一页
82
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝