一、配置

首先运行命令检测当前cli环境是否支持:

curl -Ss http://www.workerman.net/check.php | php

php -m //查看当前cli环境php模块

某些集成环境cli的配置文件和浏览器的配置文件路径不同,如mamppro.cli下运行php --ini查看,本实例所在环境是MacOS系统,PHP7的环境下进行的(Linux与此类似,Windows下有些不同,注意下面的区别部分,但建议使用Linux或Mac系统,经过测试,Windows下有很多功能不支持)。

二、使用composer安装workerman

cd 你的工作路径/你的laravel框架文件夹 (要使用命令行模式)

composer require workerman/workerman

三、使用artisan command建立

因为workerman服务启动是基于cli命令行模式,所以我们得用laravel的artisan来实现。在Laravel中创建command,以下例子是创建一个简单的httpserver,其他服务请查看官方文档(需要说明的是laravel5.3改成command了,5.2 5.1 是console,当前所使用的是5.4版本)。

php artisan make:command WorkermanHttpServer

进入App\Console\Commands目录下,进行如下修改:

namespace App\Console\Commands;

use Illuminate\Console\Command;

use Workerman\Worker;

use App;

class WorkermanHttpServer extends Command

{

protected $httpserver;

/**

* The name and signature of the console command.

*

* @var string

*/

protected $signature = 'workerman:httpserver {action} {--daemonize}';

/**

* The console command description.

*

* @var string

*/

protected $description = 'workerman httpserver';

/**

* Create a new command instance.

*

* @return void

*/

public function __construct()

{

parent::__construct();

}

/**

* Execute the console command.

*

* @return mixed

*/

public function handle()

{

//因为workerman需要带参数 所以得强制修改

global $argv;

$action=$this->argument('action');

if(!in_array($action,['start','stop'])){

$this->error('Error Arguments');

exit;

}

$argv[0]='workerman:httpserver';

$argv[1]=$action;

$argv[2]=$this->option('daemonize')?'-d':'';

$this->httpserver=new Worker('http://0.0.0.0:8080');

// App::instance('workerman:httpserver',$this->httpserver);

$this->httpserver->onMessage=function($connection,$data){

$connection->send('laravel workerman hello world');

};

Worker::runAll();

}

}

接下来,注册command,文件位置在“App\Console\Kernel.php”文件添加刚才创建的command。

protected $commands = [

Commands\WorkermanHttpServer::class

];

最后就是测试运行了。

#debug运行

php artisan workerman:httpserver start

#常驻后台运行

php artisan workerman:httpserver start --daemonize

如果出现如下界面内容,说明你已经成功了。

php larval workerman,laravel框架与workerman的整合相关推荐

  1. laravel框架中引入Workerman

    1.安装Workerman 首先在laravel根目录下安装Workerman 命令:$ composer require workerman/gateway-worker 2.创建 Workerma ...

  2. php larval框架运行环境,Laravel框架的运行环境配置(一)

    Laravel框架 学习参考: Laravel的特点; 单一入口:所有请求必须从单入口开始,主要是关于管理[统一的参数过滤] MVC的思想 ORM操作数据库 一个模型对应数据库里面的一张表,对象的属性 ...

  3. php larval框架运行环境,4种Windows系统下Laravel框架的开发环境安装及部署方法详解...

    1.准备工作 1.1PHP集成环境 这里我们使用的是XAMPP,XAMPP是一个功能强大的建站集成软件包,采用一键安装的方式,包含PHP7.0.Mysql.Tomcat等.最新版下载地址:PHP 5. ...

  4. php后台开发(二)Laravel框架

    php后台开发(二)Laravel框架 为了提高后台的开发效率,往往需要选择一套适合自己的开发框架,因此,选择了功能比较完善的Laravel框架,仔细学来,感觉和Python语言的框架Django非常 ...

  5. ueditor集成实例php,Laravel框架集成UEditor编辑器的方法图文与实例详解

    本文实例讲述了Laravel框架集成UEditor编辑器的方法.分享给大家供大家参考,具体如下: 一. 背景 在项目开发的过程中,免不了使用修改功能,而富文本编辑器是极为方便的一种推荐,当然,个人认为 ...

  6. php laravel框架 rce分析 cve-2018-15133

    本文将记录在 APP_KEY 泄露情况下的 Laravel RCE 漏洞.该漏洞可以分别在两个地方触发,一个是直接添加在 cookie 字段,例如: Cookie: ATTACK=payload :另 ...

  7. 极光 php 自定义消息,laravel框架使用极光推送消息操作示例

    本文实例讲述了laravel框架使用极光推送消息.分享给大家供大家参考,具体如下: 最近需要使用极光推送往客户端推消息,所以这里记录下使用过程. 极光推送的服务端文档: https://docs.ji ...

  8. php laravel框架项目实例

    laravel框架评价,转知乎的, laravel是个好框架,我也在学习和使用,并且在公司里推广,新项目就是用的laravel.但是我觉得题主说thinkphp是垃圾我是不同意的,国外的月亮真的就更圆 ...

  9. laravel框架的基础学习路线(不带composer的)

    首先,博主这里一直用的都是laravel的一键安装包,所以一直没有用composer来操作过laravel.很多事情不用composer也能完成.这里主要是写给公司同事的一个laravel框架入手顺序 ...

最新文章

  1. 《C++ primer》--第1,2章小结
  2. UA MATH571B 试验设计III 单因素试验设计3
  3. SICStus Prolog 3.10.0正式版下载
  4. leetcode-350- 两个数组的交集 II
  5. Java Swing编程之仿js树状折叠菜单
  6. 「offer来了」从基础配置到高级配置,16大知识点带你巩固webpack知识体系
  7. ladder怎么读_ladder 是什么意思_ladder 的翻译_音标_读音_用法_例句_爱词霸在线词典...
  8. 【Kafka】Kafka幂等性原理及实现剖析
  9. 51单片机 外部时钟_基于51单片机的LCD12864显示模拟时钟
  10. 史上最全android分辨率
  11. Shell实现MySQL分库备份
  12. matlab 倒位序fft程序,[转载]MATLAB的一个FFT程序
  13. 快速定制开发CAD电路图(电气原理图)详细流程及源码 浮云E绘图
  14. 【PPT】极简PPT设计方法
  15. JS边框图片基础知识
  16. opencv4 QR码检测和识别源码解析
  17. vue项目中使用Js判断图片是否加载完 所有图片加载完成前展示Loading效果
  18. u盘里的视频文件损坏了怎么修复?
  19. UE5打包失败:AutomationTool exiting with ExitCode=-532462766 解决方法
  20. android版本内存卡,都8GB内存了 为何安卓手机还是这么卡?

热门文章

  1. CAD怎么快速查看图纸文件呢?CAD怎么实现快速看图?
  2. 想要快速来钱?你连这些竟然都不知道?!
  3. 基于运放的功率放大器设计
  4. 洛基亚android手机,诺基亚安卓手机有哪些?
  5. python写cadance skill_《Cadence 16.6电路设计与仿真从入门到精通》——2.5 Design Entry HDL原理图图形界面...
  6. 利用ARP攻击来断网
  7. Linux中elasticsearch:root给普通用户授权总是出现输入密码Sory try again…
  8. 2021-11-02 PAT厘米换算英尺英寸
  9. 浙大c语言上机答案40061,C语言上机练习汇总及答案解析.doc
  10. 新京报:中国体坛缺“林丹”