最近学习workerman,就在网上找了好多中方法,试了好多种,都启动不了,后面就用了tp5的command来启用workerman。
首先下载workerman,这是官网直接下载最新版本的,兼容window和linux
composer require workerman/workerman
然后创建一个文件Workerman.php并引用workerman(放在哪个文件夹自己定义就好)
然后再function中
$http_worker = new Worker("websocket://0.0.0.0:2345");
// 启动4个进程对外提供服务
$http_worker->count = 4;
// 接收到浏览器发送的数据时回复hello world给浏览器
$http_worker->onMessage = function($connection, $data)
{
// 向浏览器发送hello world
$connection->send('hello world');
};
Worker::runAll();
然后在command目录中创建StartWorker.php文件,引入需要用到的类(最后一个引入就是上面刚创建的文件)
class StartWorker extends Command
{
protected function configure()
{
// php think worker:start
$this->setName('worker:start')
->setDescription('workerman开启');
}
protected function execute(Input $input, Output $output)
{
$WM = new Workerman();
$WM->index();
}
}
这是我们定义好的命令(worker:start)
最后一步就是在application目录下的command文件中,定义我们刚刚写好的文件
最后在cmd跳转到项目的目录然后如数我们定制好的命令.(启动成功)
第一次写,大佬们收下留情!!!