想在webman中一起启动一个Channel\Server进程,现在单独文件(a.php)启动是这样:
use Workerman\Worker;
require_once __DIR__ . '/vendor/autoload.php';
// 不传参数默认是监听0.0.0.0:2206
$channel_server = new Channel\Server();
if(!defined('GLOBAL_START'))
{
Worker::runAll();
}
然后 php a.php start -d
如果想在 webman 中启动时一起启动,写在自定义进程的onWorkerStart 函数下面,会不会启动多了一个进程?
例如这样:
class myservice
{
/**
修改 start.php
谢谢
不过这样,在 php start.php stop 的时候会一起停止吗?
文档: https://www.workerman.net/doc/webman/process.html
自定义进程就可以了,按照这个文档:https://www.workerman.net/doc/webman/process.html
自定义进程我懂,但
public function onWorkerStart(Worker $worker)
{
$channel_server = new Channel\Server();
}
这样会有两个进程吧,1楼的朋友是理解了我的意思,只是可能 不能使用 命令行停止和重启
不会在创建进程,按照你现在这个写法没得问题。
不过你这个 $channel_server = new Channel\Server(); 不会被启动,
你最好自己class MyChannelServer extends Channel\Server { public function listen() {$this->_worker->listen();}}
自定义进程这样写:
public function onWorkerStart(Worker $worker)
{
$channel_server = new 命名空间MyChannelServer();
$channel_server->listen();
}
感谢,我试试