返回顶部
首页 > 资讯 > 精选 >Laravel中如何接入workerman
  • 246
分享到

Laravel中如何接入workerman

2023-07-04 18:07:04 246人浏览 安东尼
摘要

这篇文章主要介绍“Laravel中如何接入workerman”,在日常操作中,相信很多人在Laravel中如何接入workerman问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Laravel中如何接入wor

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

一、安装gateway-worker

composer require workerman/gateway-worker -vvv

二、创建Workerman启动文件

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

PHP artisan make:command WorkermanCommand
<?php namespace App\Console\Commands; use GatewayWorker\BusinessWorker;use GatewayWorker\Gateway;use GatewayWorker\ReGISter;use Illuminate\Console\Command;use Workerman\Worker; class WorkermanCommand extends Command{     protected $signature = 'workman {action} {--d}'; //执行该命令的方式     protected $description = 'Start a Workerman server.';     public function handle()    {        global $argv;        $action = $this->argument('action');         $argv[0] = 'wk';        $argv[1] = $action;        $argv[2] = $this->option('d') ? '-d' : '';       // -d守护模式,不会因为关闭系统命令页面而被杀掉进程。 没有-d则关闭命令页面直接退出进程         $this->start();    }     private function start()    {        $this->startGateWay();        $this->startBusinessWorker();        $this->startRegister();        Worker::runAll();    }     private function startBusinessWorker()    {        $worker                  = new BusinessWorker();        $worker->name            = 'BusinessWorker';        $worker->count           = 1;        $worker->registerAddress = '127.0.0.1:1236';        $worker->eventHandler    = \App\Events::class; //用作监听事件的文件    }     private function startGateWay()    {//因为小程序等一些平台,要求使用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 = new Gateway("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';    }     private function startRegister()    {        new Register('text://0.0.0.0:1236');    }}

三、创建监听事件

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

<?php namespace App\Workerman; class Events{     public static function onWorkerStart($businessWorker)    {    }     public static function onConnect($client_id)    {    }     public static function onWEBSocketConnect($client_id, $data)    {    }     public static function onMessage($client_id, $message)    {    }     public static function onClose($client_id)    {    }}

四、启动workerman

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

php artisan workman start -d

五、踩坑关键点

linux环境中使用。

有可能会启动失败,此时,请检查php中,是否禁用了pcntl开头的相关方法。在 php配置文件中查找到disable_functions,将所有pcntl开头的方法全部删除。

到此,关于“Laravel中如何接入workerman”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: Laravel中如何接入workerman

本文链接: https://lsjlt.com/news/346770.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Laravel中如何接入workerman
    这篇文章主要介绍“Laravel中如何接入workerman”,在日常操作中,相信很多人在Laravel中如何接入workerman问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Laravel中如何接入wor...
    99+
    2023-07-04
  • Laravel接入workerman
    前言:此处,我们采用基于workerman开发的GatewayWorker作为socket的核心组件,因为,workerman是一个纯粹的socket类库,相对于GatewayWorker来说,更底层,更需要开发者有多进程的编程经验,而...
    99+
    2023-09-04
    laravel php linux websocket
  • Laravel如何整合Workerman命令行监听MQTT
    这篇文章主要介绍“Laravel如何整合Workerman命令行监听MQTT”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Laravel如何整合Workerman命令行监听MQTT”文章能帮助大家解...
    99+
    2023-07-04
  • Laravel项目如何全站接入paxj
    这篇文章主要介绍Laravel项目如何全站接入paxj,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!                 &...
    99+
    2023-06-15
  • thinkphp6中如何使用workerman
    本文小编为大家详细介绍“thinkphp6中如何使用workerman”,内容详细,步骤清晰,细节处理妥当,希望这篇“thinkphp6中如何使用workerman”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。t...
    99+
    2023-07-04
  • PHP笔记-Workerman整合到Laravel中并创建websocket
    今天想把websocket搭建起来,查了下原始的Laravel并没有这个功能,发现php中websocket用workerman好像比较多。 在此将他们结合下,但结合时发现了一些问题。此篇博文虽然以及结合起来了,但是在某些情况下,建议还是分...
    99+
    2023-09-08
    php 开发语言
  • 如何在php中使用Laravel接口
    如何在php中使用Laravel接口?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。php是什么语言php,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypert...
    99+
    2023-06-14
  • 如何在 Laravel 中打包 PHP 接口?
    Laravel 是一款非常流行的 PHP 框架,它提供了许多便捷的功能和工具,帮助开发者更快速、更高效地构建 PHP 应用程序。其中,打包 PHP 接口是 Laravel 的一个重要特性,它可以帮助开发者更好地组织和管理应用程序的代码。本文...
    99+
    2023-11-14
    laravel 接口 打包
  • 如何在php中安装Workerman框架
    这篇文章将为大家详细讲解有关如何在php中安装Workerman框架,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。php有什么用php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法...
    99+
    2023-06-14
  • 如何在PHP中使用Workerman函数
    Workerman是一个强大且易于使用的PHP框架,它提供了一种简单的方式来创建高性能的网络应用程序。如果你想知道如何在PHP中使用Workerman函数,本文将向你提供详细的指导。一、安装Workerman首先,你需要安装Workerma...
    99+
    2023-05-20
    函数 PHP Workerman
  • laravel如何防止sql注入
    laravel防止sql注入的方法:当你使用Eloquent查询时,如:User::where('name', $input_name)->first();因为Eloquent 内部使用的是PDO参数绑定,所以你的请求是安全的,使...
    99+
    2024-04-02
  • Laravel如何制作API接口
    这篇文章给大家分享的是有关Laravel如何制作API接口的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。需要注意的是:API有它的具体用途,我们应该清楚它是干啥的。访问API的时候应该输入什么。访问过API过后应...
    99+
    2023-06-15
  • laravel+vue组合项目中如何引入ueditor
    这篇文章主要介绍laravel+vue组合项目中如何引入ueditor,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、下载editor这个直接去ueditor的官网下载其PHP版本...
    99+
    2024-04-02
  • php中如何使用laravel实现依赖注入
    这篇文章主要介绍“php中如何使用laravel实现依赖注入”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php中如何使用laravel实现依赖注入”文章能帮助大家解决问题。laravel容器包含控...
    99+
    2023-07-04
  • 你知道如何在 Laravel 中使用 Python 接口吗?
    当今软件开发领域中,Laravel 是一个备受追捧的 PHP Web 开发框架,而 Python 则是一门功能强大且易于使用的编程语言。那么,如何在 Laravel 中使用 Python 接口呢?本文将为你提供一些有用的指导。 为什么使用 ...
    99+
    2023-09-06
    接口 laravel path
  • Python 如何与 Laravel 的接口交互?
    Python 和 Laravel 都是非常流行的开发工具,Python 作为一种高级编程语言,拥有广泛的应用场景,而 Laravel 则是一种优秀的 PHP 开发框架。在实际开发中,我们常常需要将 Python 和 Laravel 进行整合...
    99+
    2023-09-06
    接口 laravel path
  • laravel如何跳转到外部链接
    这篇文章主要介绍了laravel如何跳转到外部链接的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇laravel如何跳转到外部链接文章都会有所收获,下面我们一起来看看吧。一、使用路由系统创建外部链接跳转Larav...
    99+
    2023-07-05
  • PHP中如何利用Laravel容器实现依赖注入?
    在软件开发中,依赖注入是一种非常重要的设计模式。它可以让我们更好地管理代码,减少代码的耦合度,提高代码的可维护性和可测试性。在PHP开发中,Laravel框架提供了强大的容器(Container)功能,可以很方便地实现依赖注入。本文将介绍...
    99+
    2023-09-16
    load laravel 容器
  • 什么是 ASP 响应接口?Laravel 中如何使用它?
    ASP 响应接口,又称为 ASP Response Object,是一种用于生成 HTTP 响应的对象。它可以用于向客户端发送 HTML 内容、文件或其他类型的数据。在本文中,我们将介绍 ASP 响应接口的基本概念以及在 Laravel 框...
    99+
    2023-07-19
    响应 接口 laravel
  • Laravel中Middleware如何使用
    今天就跟大家聊聊有关Laravel中Middleware如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。PHP内置函数array_revers...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作