一、安装 workerman
在项目根目录执行
-
composer require workerman/workerman
二、创建自定义 artisan 命令来启动 workerman 服务
由于 laravel 不能直接在根目录下执行 php
命令,所以需要创建 artisan
命令用于后面 workerman 服务的开启。
1,生成 WorkermanCommand 文件
php artisan make:command WorkermanCommand
执行以上命令行会在 app/Console/Commands/ 目录下生成 WorkermanCommand.php 文件。
<?php namespace App\Console\Commands; use Workerman\Worker; use Illuminate\Console\Command; class WorkermanCommand extends Command { private $server; // -d 是否以debug方式运行 protected $signature = 'workerman {action} {-d?}'; protected $description = 'Start a Workerman server.'; public function __construct() { parent::__construct(); } /** * Execute the console command. * * @return mixed */ public function handle() { global $argv; $arg = $this->argument('action'); $argv[1] = $argv[2]; $argv[2] = isset($argv[3]) ? "-{$argv[3]}" : ''; switch ($arg) { case 'start': $this->start(); break; case 'stop': $this->stop();