webman 二进制打包时使用Channel\Client连接会报错

niutianhu

问题描述

这个项目的需求是,webman的http接口接收到数据后,转发到Mqtt。
我在start.php中启动了Channel-Server服务,在bootstarp中添加了一个类用来每个进程初始化的时候连接Channel,正常是可以使用的,但是打包二进制的时候却报错了

另外问一下,webman里启动channel-server放到哪里比较好,我放到了start.php里但是执行composer的时候会被覆盖掉,还是说channel-server本来就是要单独启动的。

程序代码或配置

截图

截图

123 1 0
1个回答

walkor 打赏
<?php

namespace app\bootstrap;

use Webman\Bootstrap;

class Foo implements Bootstrap
{
    public static function start($worker)
    {
        // 判断是否是执行的 php webman xxx 命令
        $is_console = !$worker;
        if ($is_console) {
            // 如果不想在命令环境执行直接return
            return;
        }

        // 以下是webman正常运行环境运行的代码

    }

}

写bootstrap时要注意$worker是否为空,如果为空说明是运行的命令,不是webman运行环境

×
🔝