php larval workerman,laravel框架与workerman的整合
一、配置
首先运行命令检测当前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的整合相关推荐
- laravel框架中引入Workerman
1.安装Workerman 首先在laravel根目录下安装Workerman 命令:$ composer require workerman/gateway-worker 2.创建 Workerma ...
- php larval框架运行环境,Laravel框架的运行环境配置(一)
Laravel框架 学习参考: Laravel的特点; 单一入口:所有请求必须从单入口开始,主要是关于管理[统一的参数过滤] MVC的思想 ORM操作数据库 一个模型对应数据库里面的一张表,对象的属性 ...
- php larval框架运行环境,4种Windows系统下Laravel框架的开发环境安装及部署方法详解...
1.准备工作 1.1PHP集成环境 这里我们使用的是XAMPP,XAMPP是一个功能强大的建站集成软件包,采用一键安装的方式,包含PHP7.0.Mysql.Tomcat等.最新版下载地址:PHP 5. ...
- php后台开发(二)Laravel框架
php后台开发(二)Laravel框架 为了提高后台的开发效率,往往需要选择一套适合自己的开发框架,因此,选择了功能比较完善的Laravel框架,仔细学来,感觉和Python语言的框架Django非常 ...
- ueditor集成实例php,Laravel框架集成UEditor编辑器的方法图文与实例详解
本文实例讲述了Laravel框架集成UEditor编辑器的方法.分享给大家供大家参考,具体如下: 一. 背景 在项目开发的过程中,免不了使用修改功能,而富文本编辑器是极为方便的一种推荐,当然,个人认为 ...
- php laravel框架 rce分析 cve-2018-15133
本文将记录在 APP_KEY 泄露情况下的 Laravel RCE 漏洞.该漏洞可以分别在两个地方触发,一个是直接添加在 cookie 字段,例如: Cookie: ATTACK=payload :另 ...
- 极光 php 自定义消息,laravel框架使用极光推送消息操作示例
本文实例讲述了laravel框架使用极光推送消息.分享给大家供大家参考,具体如下: 最近需要使用极光推送往客户端推消息,所以这里记录下使用过程. 极光推送的服务端文档: https://docs.ji ...
- php laravel框架项目实例
laravel框架评价,转知乎的, laravel是个好框架,我也在学习和使用,并且在公司里推广,新项目就是用的laravel.但是我觉得题主说thinkphp是垃圾我是不同意的,国外的月亮真的就更圆 ...
- laravel框架的基础学习路线(不带composer的)
首先,博主这里一直用的都是laravel的一键安装包,所以一直没有用composer来操作过laravel.很多事情不用composer也能完成.这里主要是写给公司同事的一个laravel框架入手顺序 ...
最新文章
- 《C++ primer》--第1,2章小结
- UA MATH571B 试验设计III 单因素试验设计3
- SICStus Prolog 3.10.0正式版下载
- leetcode-350- 两个数组的交集 II
- Java Swing编程之仿js树状折叠菜单
- 「offer来了」从基础配置到高级配置,16大知识点带你巩固webpack知识体系
- ladder怎么读_ladder 是什么意思_ladder 的翻译_音标_读音_用法_例句_爱词霸在线词典...
- 【Kafka】Kafka幂等性原理及实现剖析
- 51单片机 外部时钟_基于51单片机的LCD12864显示模拟时钟
- 史上最全android分辨率
- Shell实现MySQL分库备份
- matlab 倒位序fft程序,[转载]MATLAB的一个FFT程序
- 快速定制开发CAD电路图(电气原理图)详细流程及源码 浮云E绘图
- 【PPT】极简PPT设计方法
- JS边框图片基础知识
- opencv4 QR码检测和识别源码解析
- vue项目中使用Js判断图片是否加载完 所有图片加载完成前展示Loading效果
- u盘里的视频文件损坏了怎么修复?
- UE5打包失败:AutomationTool exiting with ExitCode=-532462766 解决方法
- android版本内存卡,都8GB内存了 为何安卓手机还是这么卡?
热门文章
- CAD怎么快速查看图纸文件呢?CAD怎么实现快速看图?
- 想要快速来钱?你连这些竟然都不知道?!
- 基于运放的功率放大器设计
- 洛基亚android手机,诺基亚安卓手机有哪些?
- python写cadance skill_《Cadence 16.6电路设计与仿真从入门到精通》——2.5 Design Entry HDL原理图图形界面...
- 利用ARP攻击来断网
- Linux中elasticsearch:root给普通用户授权总是出现输入密码Sory try again…
- 2021-11-02 PAT厘米换算英尺英寸
- 浙大c语言上机答案40061,C语言上机练习汇总及答案解析.doc
- 新京报:中国体坛缺“林丹”