Laravel中如何接入workerman


这篇文章主要介绍“Laravel中如何接入workerman”,在日常操作中,相信很多人在Laravel中如何接入workerman问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Laravel中如何接入workerman”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

composerrequireworkerman/gateway-worker-vvv

通过下列命令,在AppConsoleCommands下创建命令行文件,并将下方代码复制到文件中。

phpartisanmake:commandWorkermanCommand

argument('action');

$argv[0]='wk';
$argv[1]=$action;
$argv[2]=$this->option('d')?'-d':'';
//-d守护模式,不会因为关闭系统命令页面而被杀掉进程。没有-d则关闭命令页面直接退出进程

$this->免费云主机域名;start();
}

privatefunctionstart()
{
$this->startGateWay();
$this->startBusinessWorker();
$this->startRegister();
Worker::runAll();
}

privatefunctionstartBusinessWorker()
{
$worker=newBusinessWorker();
$worker->name='BusinessWorker';
$worker->count=1;
$worker->registerAddress='127.0.0.1:1236';
$worker->eventHandler=AppEvents::class;//用作监听事件的文件
}

privatefunctionstartGateWay()
{
//因为小程序等一些平台,要求使用wss进行socket,所以,这里需要配置下wss
//此处的cert.pem和key.key是域名的证书文件
$content=array(
'ssl'=>array(
'local_cert'=>public_path('cert.pem'),
'local_pk'=>public_path('key.key'),
'verify_peer'=>false
)
);
$gateway=newGateway("websocket://0.0.0.0:2346",$content);
//如果不需要wss,则不用加入content这个参数
$gateway->transport='ssl';//不需要wss,也不用加入这个参数。
$gateway->name='Gateway';
$gateway->count=1;
$gateway->lanIp='127.0.0.1';
$gateway->startPort=2300;
$gateway->pingInterval=30;
$gateway->pingNotResponseLimit=0;
$data=array(
'type'=>'heart'
);
$gateway->pingData=json_encode($data,true);
$gateway->registerAddress='127.0.0.1:1236';
}

privatefunctionstartRegister()
{
newRegister('text://0.0.0.0:1236');
}
}

创建一个app/Events.php文件来监听处理Workman的各种事件


在命令行里面执行,支持的命令有 start | stop | restart,后续加 -d 的意思是守护模式【daemon】

phpartisanworkmanstart-d

1、在LINUX环境中使用。2、有可能会启动失败,此时,请检查php中,是否禁用了pcntl开头的相关方法。在 php配置文件中查找到disable_functions,将所有pcntl开头的方法全部删除。到此,关于“Laravel中如何接入workerman”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注百云主机网站,小编会继续努力为大家带来更多实用的文章!

相关推荐: php如何实现定位功能

这篇文章主要介绍“php如何实现定位功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法免费云主机域名简单快捷,实用性强,希望这篇“php如何实现定位功能”文章能帮助大家解决问题。 php实现定位功能的方法:1、注册成为百度用户,成为地图开放平台开发…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/26 09:46
下一篇 02/26 09:47

相关推荐