workerman
首页
问答
分享
手册
市场
商业
客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
AI助手
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
分享
时隔10年了,我又
回
来了。说一说进程间共享的问题。
它们天然是
不
可能共用一个所谓的变量的。
不
论是所属主进程还是衍
生
子进程都是这样。所以
不
要妄想使用引用的方式将变量地址传递给其它进程!!!因此,这种隔离性有好也有坏,隔离就相互
不
干扰避免数据污染,太隔离了又会导致数据
不
互通
不
方便,具体就要看场景了。 大家应该经常遇到这个东西:IPC。即进程间通信(IPC - Interprocess communication),就是在
不
同进程之间传播或交换信息。 这就是说,进程间共享信息是一门单独的学问,没那么简单的。本来就是服
务
端监听一个本地端口,然后在任意进程中的客户端连接这个端口访问数据,基于这种通信的逻辑实现数据共享。 希望我的理解能快速打通您对多进程编程的认知。
问答
workerman
不
太稳定,找
不
出原因
用memcached来存储,做的分布式的推送服
务
,2天测试下来有的机器能收到消息,有的就收
不
到,服
务
都还稳定运行,用chrome检测socket的服
务
器也没有异常消息,
不
知道为什么。有什么办法能找到为什么收
不
到消息的原因吗? 或者分布式的时候需要注意什么吗? 谢谢。
问答
关于AI助手的应用,问题咨询
#### 问题描述 想把AI助手给部门内
不
同岗位同
事
使用,产
生
了一些疑问,感谢解答! 1、能否做到每个人都有独立账号,登陆之后才能使用?是否是配合webmanadmin的用户权限来做登录?2、能否控制使用者
不
能看到全部应用?例如“野蛮女友”、“国粹杠精”等
不
适合在部门内让所有人看到 3、安装AI助手之后,使用时的打开界面是否与 https://bla.cn/ 一致?#### 为此你搜索到了哪些方案及
不
适用的原因 没有搜索解决方案
文档
不
支持的函数/特性
#
不
支持的函数
不
支持的函数/语句 | 替代方案 | 说明 ----|------|---- pcntl_fork | 提前设置好进程数| php://input | [`$request->rawBody()`](http/request.md)| 用于HTTP协议下的应用获取POST的原始数据 exit | return | 使用exit会导致进程退出,如果要返
回
请直接用return语句 die |return | 使用die会导致进程退出,如果要返
回
请直接用return语句 header cookie session相关函数 |参考 [`$request`](http/request.md) 和
问答
workerman 多个进程共享数据(能
不
能直接在内存共享?或者多线程)
我有两个进程,想操作同一个资源,
不
想借助文件或者数据库存储(
效
率低),上网上搜了一下可以内存共享,我想问一下,workerman有什么解决方法吗?,多线程版本可以吗?
问答
参考文档中的异步任
务
代码,使用
生
产环境高频数据进行测试(关键字:Address not available)
185 **MQTT内数据为** {"code":"LI2701_LS_HH","type":"BOOL","value":false,"timestamp":"1617874140"} **服
务
端代码); }; $mqtt->onMessage = function($topic, $content){ global $db; // 与远程task服
务
建立异步连接,ip为远程task服
务
的ip,如果是本机就是127.0.0.1,如果是集群就是lvs的ip $task_connection = new AsyncTcpConnection('Text://127.0.0.1:22345'); // 任
务
及参数数据 // $task_data = array( // 'function' =>获得结果后记得关闭异步连接 $task_connection->close(); // 通知对应的websocket客户端任
务
完成
文档
客户端连接失败原因
ip 4、服
务
器使用了cdn等加速代理,导致连接的实际ip与预期ip
不
一致 5、服
务
端没有启动或者端口没有被监听 6、使用了网络代理软件 7、服
务
端监听ip与访问地址
不
在一个地址段。3、如果用了宝塔等面板,需要在宝塔中开放对应端口 4、服
务
器
不
存在或者没有启动 5、如果客户端使用了域名连接,域名可能指向了错误的服
务
器ip 6、客户端访问的ip是服
务
器内网ip,并且客户端和服
务
端
不
在一个局域网,会产
生
这个错误。ip_local_port_range` 来增加本地临时端口数量,例如设置成`10000 65535`(本地端口范围设置成10000 65535,也就是本地端口数增加到55535个),运行`sysctl -p`
生
效
## 其它报错 如果发
生
的报错
不
是```connection refuse``` 和 ```connection timeout```则一般是以下原因: **1、客户端使用的通讯协议与服
务
端
不
一致。
问答
GatewayWorke 连接数可以过万,但是前面1015个连接可以向服
务
器发送信息,1015以后的连接发送信息服
务
器收
不
到
GatewayWorke 连接数可以过万,但是前面1015个连接可以向服
务
器发送信息,1015以后的连接发送信息服
务
器收
不
到,这是什么情况,是我的内核哪里没有配置吗?
问答
PHPsocket.io中使用定时器
$io = new SocketIO(81); // 当有客户端连接时 $io->on('connection', function($socket)use($io){ // 获取链行股价行情
事
件
回
调函数send_prices', $data); }); }); }); Worker::runAll(); ``` 这样写,好像每个用户链接后发送get_price都会新增了一个定时器(
不
确定是
不
是,自己测试的时候打开多个页面,客户端接收的数据有时候一下子返
回
多个)。。
分享
docker
生
产环境文件
# 解决文件挂在容器内外权限
不
一致问题 # USERNAME 用户名 必须主服
务
器存在的用户 ARG USERNAME=www # USERID 用户id 对应的用户id ARG USERID=1001# 下面的 curl -sS https://getcomposer.org/installer | php 可以
不
需要 二选一 # https://getcomposer.org/versionsigbinary \ # 开启 opcache && docker-php-ext-enable opcache \ # 重要 配置 event 扩加载顺序 到 sockets 后面
不
然会报错提示找
不
到 socket 相关函数 && mv /usr/local/etc/php/conf.d/docker-php-ext-event.ini /usr/local/etc/php/conf.dUSERNAME} # 定义启动脚本 CMD [ "/start.sh" ] ``` docker-compose.yml ``` services: webman: # 解决容器内网文件权限
不
一致问题
问答
webman
事
件插件 基于illuminate/events
这个 handle里
不
能return值呀
问答
链接存在时 客户端
不
发数据的时候 服
务
端会自己返
回
@heart
并没有用timmer类 并且30秒一次自动发送
问答
workerman 在类里面无限递归行
不
行
```php public function test(){ //这里是要随机时间的,当然实际肯定
不
是现在这样 $time = rand(10,15); Timer::add($time,function (){ //执行完自己代码后 $this->test();//这里重新
生
成定时器 },[],false) } ``` 然后进程启动后掉要一次 $this->test(); 这个写法会死人吗......总感觉怪怪的,
不
行的话有没有好点思路呀,求帮忙,谢谢
问答
关于重启偶尔出现not ready情况
这个是
生
成环境下一次重启偶然出现的!1362ce86a0dc05.png) 按照我对Register注册进程的理解,是否会存在一种情况: 当BusinessWorker重启时,由于网络或者其他原因,导致Register没有触发onClose
事
件(因为socket并
不
保证一定会触发onCLose),导致这个问题的出现; 如果存在这种情况的话,我是否可以在Register用定时器去维护一个心跳,判断如果长时间没有数据交流,就删除这个连接。
问答
Gateway服
务
启动成功,就是连接
不
上啊,救命啊!!来人啊!!!!!
#### 问题描述 服
务
端正常启动,防火墙端口也放开了 服
务
端配置  这是nginx增加的配置  客户端就是连接
不
上啊 !
问答
请教:网站部分静态资源的路由配置
Route::get('/', function(){ return response('hello webman'); }); }} 我想把首页改成静态文件index.html输出,但路由【2】只会返
回
404,
不
会显示hello webman, 其实我想要的是路由【3】 Route::group('/test', function () { Route::get('/', function(){ return1> 多应用的关系nginx那边
不
好动,location
不
能单独对域名处理,会影响所有的,如果有方案只影响一个应用也行,我的配置是if ($host = 'web.test.com.cn'){set $flag "test"; } rewrite ^/(.*)$ /$flag/$1 last; 2> webman路由【2】
不
能正常工作,路由【1】是正常的【动态的】,我想要实现路由【3】的
效
果没成功,反复测试路由【2】这里就卡死了;路由【2】、路由【3】只会返
回
404 我要直接访问域名web.test.com.cn与就是访问web.test.com.cn/index.html的
效
果,麻烦大神指点一下
问答
gateworker中,频繁刷新页面获取新的client_id,之前没用的lcient_id会留在内存里吗?
gateworker中,请求新页面会
生
成一个client_id,如果
不
断刷新此页面,会得到
不
同的client_id,那之前的client_id还会留在内存里吗,这样频繁的刷新页面会
不
会造成服
务
器很大的负担呢
问答
升级了1.6.9之后,GatewayWorker插件无法根据uid获取在线的用户,返
回
都是0
GatewayWorker 获取用户在线
不
在在线,返
回
的都是0 #### 程序代码或配置 #### 重现问题的步骤 #### 操作系统环境及workerman/webman等具体版本 linux
问答
自带的mysql为什么插入成功,但是返
回
的0?
insertId = self::$conn->insert($this->table)->cols($data)->query(); echo $insertId; 数据库里面已经有数据了,但是这个始终是返
回
0
问答
关于 SSE 跟 chunk 方式返
回
,中间件还有授权这些怎么处理?
#### 问题描述 最近在搞 gpt 的 stream 方式返
回
,如果用 SSE 跟 chunk 方式返
回
,中间件还有授权这些怎么处理?
« 上一页
1
...
66
67
68
69
70
71
72
73
...
458
下一页 »
« 上一页
69
下一页 »
赞助商
+成为赞助商
×
请作者喝咖啡
×
🔝