workerman
首页
问答
分享
手册
市场
商业
客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
AI助手
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
使用shopwwi/webman-auth 多表认证获取
不
到指定表的用户信息
[截图](/upload/img/20220613/1362a709567eac.png) ## 定义了两个类,这个获取
不
到用户信息  ## 在指定creator守卫时,redis中存储的键有问题,在第一次登录时
生
成了user_3,用这个token获取用户信息提示令牌无
效
,再次登录
生
成才
生
成creator_3
生
效
,如下图所示 !
问答
wss部分地区可以链接,部分地区链接
不
上
wss(在GatewayWorker中websocket使用证书)部分地区可以链接,部分地区链接
不
上,请问是怎么
回
事
呀? 证书的问题吗? 服
务
器在国外。 请问大佬们这个有什么好的解决方案吗?
分享
php
生
成器详解 Generator以及yield到底是什么?
它最简单的调用形式看起来像一个return申明,
不
同之处在于普通return会返
回
值并终止函数的执行, 而yield会返
回
一个值给循环调用此
生
成器的代码并且只是暂停执行
生
成器函数。public __wakeup(): void } //测试方法 function countTo4() { yield from [1, 2, 3]; yield 4; } //获得
生
成器的返
回
print_r($data->valid()); 如果打开注释行 //$data->next();迭代器就会失
效
,获取元素失败 ``` 注意:从php的源代码来看,yield只是标记方法为
生
成器,具体实现还是在zend vm里面处理 ### yield 异步,协程的关系 因为
生
成器是一个很好的接受返
回
数据的方法,
不
然很容易内存溢出,经常配合一些异步,协程执行获取返
回
结果,但是yield本身是和异步,协程并没有什么关系这种相对
不
常见的情况是通过在产
生
控制时将活动调用帧复制到
生
成器结构中,并在
生
成器恢复时恢复它们来处理的。 此设计自PHP7.1开始使用。
问答
我这边发现一个问题,配置里gateway-worker端口1236设置为了12360,并
不
会完全
生
效
#### 问题描述 我这边发现一个问题,我把配置里gateway-worker端口1236设置为了12360,启动这些都正常,但是在我使用gateway发送消息时,仍然调用的是1236这个端口,导致
不
断报错是否是长链接 * @var bool */ public static $persistentConnection = true; ``` #### 重现问题的步骤 情况发
生
在我调用了
事
实上我早就在配置里把端口改为了12360 #### 操作系统环境及workerman/webman等具体版本 使用的webman官方最新版本,在webman里安装的gateway-worker
问答
workerman mqtt 组件 用composer下载
不
了
我下载 mysql 组件都可以,mqtt 组件就
不
行了。 是怎么
回
事
呀
问答
onWebSocketConnect 无
效
3.0.9 本版 实测 onWebSocketConnect 无
效
 打印有数据!20230425/2564476cc9ef65.png) Events.php onWebSocketConnect 无法获取 onConnect 与 onWebSocketConnect
不
能同时使用
问答
怎么set sql_mode?
options` ```php 'options' => [ \PDO::ATTR_TIMEOUT => 3, //
不
生
效
\PDO::MYSQL_ATTR_INIT_COMMAND => "SET sql_mode=''", ] ``` 发现并
不
生
效
, 又尝试修改`support/bootstrap.php`,添加: ```php Db::statement("SET sql_mode=''"); ``` 刚启动是
生
效
的,可是过了一会儿又失
效
了, 请问一下要在哪里配置
问答
webman基础插件
不
支持注册路由吗?
[截图](/upload/img/20240422/2266260bcd2f54.png) ### 似乎这样注册并
不
生
效
呀?我打印了,运行也没出现任何打印的提示> 似乎这样注册并
不
生
效
呀?
问答
workerman的异步http-client怎么在onMessage
回
调中
不
生
效
,浏览器无限刷新
代码如下: ```php <?php use Workerman\Worker; use Workerman\Connection\TcpConnection; use Workerman\Protocols\Http\Request; require_once __DIR__ . '/vendor/autoload.php'; $worker = new Worker('http://0.0.0.0:9898'); $worker->onWorkerStart = function() { global $http_client; $http_client = new Workerman\Http\Client(); }; $worker->onMessage = function(TcpConnection $connection, Request $request) { global $http_client; $http_client->get('https://www.baidu.com', function (\Psr\Http\Message\ResponseInterface $response) use($connection){ $message = $response->getBody()->__toString(); $connection->send($message); }, function ($exception) { echo $exception; }); }; // 运行worker Worker::runAll(); ```
问答
我在onconnect的时候订阅个
事
件 但是总有connection会收
不
到
aaaaaa', function($multi_data)use($connection){ $connection->send('订阅的aaa
事
件'); }); $connection->send(‘111111111处订阅的
事
件’); }); }; ``` 在onstart中 给每个connection订阅$key
事
件 $key中是唯一的 在以后中在222222处订阅群发aaaaa
事
件 但是每次只有最后一个连接可以接受到aaaaaa
事
件 为什么
问答
workerman返
回
数据
不
对
workerman有时连上返
回
的数据
不
对,好像是之前改过的版本 !
问答
gateway使用负载均衡后出现返
回
403问题
gateway使用负载均衡后,前台发起长连接时第一次正常,但是刷新页面重新连接时就会出现返
回
403现象,连接
效
果时好时坏,把负载均衡指向一个节点访问时就
不
会出现这种问题。配置: 一共两个节点,有一台启动了register服
务
,另一台没有启动register,每个节点都配置了内网ip 现在是负载如果单独指向有register服
务
的那个访问是没有问题的,如果分发就会出现刷新
问答
配置模板引擎后webman框架中起
效
,但是在webman-admin中
不
起
效
#### 问题描述 composer 安装 think-template 配置完成后,在 webman 的控制器中使用正常,但是到 webman-admin 中无
效
,请问 webman-admin'view_suffix' => 'html', 'tpl_begin' => '{', 'tpl_end' => '}' ] ]; ```
不
好意思
问答
[已解決]webman多进程导致mysql死锁
使用的是 "illuminate/database": "^9.3" 最近业
务
上线,发现经常产
生
死锁。隔三差五的就会导致mysql死锁,通过KILL把死锁的KILL了也没用,后续继续执行
事
务
也会导致死锁。 解决方式是只能php start.php reload 然後就正常了。1 當
事
務1 進行
回
滾,
事
務2和
事
務3 此時能獲取S鎖,檢查重複值之後執行插入申請X鎖,但由於
事
務2和3都已經獲取了S鎖,所以導致X鎖獲取失敗兩個
事
務進入死鎖狀態。## 解決方式 增加多一個接口,專門處理價格檢測,
不
通過
事
務
回
滾來進行。 ## 彎路 我也是第一次遇見這個問題,最終還是通過百度和對mysql的error log還原了整個
事
件。自己的
不
足在於太過先入為主,總覺得是update導致的死鎖,哪知道是特定環境下insert導致的死鎖。
问答
为什么关闭closeClient后
不
触发websocket的onclose
事
件啊
而是触发了 onmessage
事
件
问答
求助:一个tcp服
务
器,一个http服
务
器,
不
能一起启动,首先启动的会阻塞后面启动的服
务
器的消息处理,咋
回
事
?
首先启动的会阻塞后面启动的,看状态第二个服
务
器是启动了,但处理
不
了消息 libevent 也安装了,php 安装的是 event 扩展 Workerman 启动: 2019-12-20 18:08:23:674114 : 在 0.0.0.0:11001 上创建 Channel 服
务
器。服
务
器 http://0.0.0.0:11000 1 [OK] tcp song 设备服
务
器 tcpStart success. 2019-12-20 18:08:23:940987 : 在 0.0.0.0:11000 上创建 业
务
Web服
务
器 。^CWorkerman[server.php] stopping ... 2019-12-20 18:08:25:707329 : 0.0.0.0:11000 上的 业
务
Web服
务
器 停止。
问答
websocket连
不
上gatewayworker
各位大神,websocket连
不
上gatewayworker怎么
回
事
?gatewayworker能启动。协议的问题也看过了,但是就是连
不
上。
问答
mj绘画上传图片 图
生
图 有时候无法获取图片 有时候报下图错误
#### 问题描述 mj绘画上传图片 图
生
图 有时候无法获取图片 有时候报下图错误 就是有时候实际上 mj聊天窗口没有获取到提供的图片 仅仅依照描述的文字随意
生
成与上传图片无关的图片  [无
效
链接!]请检查您的URL是否是指向图像的直接链接,而
不
是网页。
问答
关于 Event
事
件循环的一个问题请教
stream_socket_accept'); }, 'stream_socket_server'); Master::$globalEvent->loop(); ``` 在第一次stream_socket_server之后,把服
务
端socket添加进
事
件循环之后,在这个
事
件循环的闭包里,再次stream_socket_accept这个方法的调用,把新的连接再次丢入
事
件循环,这个时候,第二个闭包放的代码
不
会执行
问答
workman AsyncTcpConnection 获取返
回
message 返
回
出现问题
#### 问题描述 用workman 的AsyncTcpConnection 异步访问外部wss端口,获取的message 返
回
出现问题 #### 为此你搜索到了哪些方案及
不
适用的原因 远程socketrunAll() ``` #### 下面是代码 ```php $ws_worker = new Worker("websocket://0.0.0.0:2346"); // 启动4个进程对外提供服
务
$ws_worker->count = 6; // 当收到客户端发来的数据后返
回
hello $data给客户端 $ws_worker->onMessage = function(TcpConnection) { $context_option = array( 'socket' => array( // ip必须是本机网卡ip,并且能访问对方主机,否则无
效
« 上一页
1
...
10
11
12
13
14
15
16
17
...
458
下一页 »
« 上一页
13
下一页 »
赞助商
+成为赞助商
×
请作者喝咖啡
×
🔝