结合thinkphp5 php版本5.6
启动文件start.php代码如下:
define('APP_PATH', __DIR__ . '/../app/');
define('BIND_MODULE','socket/Gate');
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';
Gate模块构造方法如下:
namespace app\socket\controller;
use Workerman\Worker;
use GatewayWorker\Gateway;
use GatewayWorker\Register;
use GatewayWorker\BusinessWorker;
class Gate
{
/**
@access public
*/
public function __construct(){
$worker = new BusinessWorker();
$worker->name = 'ChatBusinessWorker_test';
$worker->count = 2;
$worker->registerAddress = '127.0.0.1:' . config('worker_port.register');
$worker->eventHandler = 'app\socket\controller\Events';
// 初始化 gateway 进程
$gateway = new Gateway('websocket://0.0.0.0:' . config('worker_port.websocket'));
$gateway->name = 'ChatGateway_test';
$gateway->count = 2;
$gateway->lanIp = '127.0.0.1';
$gateway->startPort = config('worker_port.start');
$gateway->pingInterval = 60;
$gateway->pingNotResponseLimit = 1;
$gateway->pingData = '{"type":"ping"}';
//$gateway->pingData = '';
$gateway->registerAddress = '127.0.0.1:' . config('worker_port.register');
//初始化register register 服务必须是text协议
$register = new Register('text://0.0.0.0:'. config('worker_port.register'));
$register->name = 'ChatRegister_test';
//运行所有Worker;
Worker::runAll();
}
}
守护进程命令行:php start.php start
初始$gateway->count = 2;两个进程
第一次启动监听的7575端口进程查询如下:
两个进程。
然后重启进程守护任务如下:
再查看端口执行的进程:
又多出来两个 如果再重启还会多出来两个
每次重启都会增加
请问下 是哪里的问题 ,
但是我用官网下载的demo同样运行 进程数量就不会增加
宝塔的进程管理器只能监听主进程,子进程它是管理不到的