thinkphp5.0使用workerman多线程实例
发布时间:2020-12-13 17:53:29 所属栏目:PHP教程 来源:网络整理
导读:测试环境:php7 + nginx +linux 首先去官网下载workerman:https://www.workerman.net/,建议使用composer 安装 ? 新建一个模块,由于我这里使用workerman来做自动任务的,所以我这个模块的名称为:task ? 在controller文件夹里面新建一个控制器:Worker.php
测试环境:php7 + nginx +linux
首先去官网下载workerman:https://www.workerman.net/,建议使用composer 安装 ? 新建一个模块,由于我这里使用workerman来做自动任务的,所以我这个模块的名称为:task ? 在controller文件夹里面新建一个控制器:Worker.php,里面的代码如下 <?php namespace apptaskcontroller; use thinkworkerServer; use WorkermanLibTimer; class Worker extends Server { protected $socket = ‘‘; protected $processes = 4;//四进程 protected $port = ‘2369‘;//监听端口 /** * 每个进程启动 * @param $worker */ public function onWorkerStart($worker){ if ($worker->id === 0) { Timer::add(1,function(){ echo ‘这是进程0....‘; }); }else if ($worker->id === 1) { Timer::add(1,function(){ echo ‘这是进程1.....‘; }); }else if ($worker->id === 2) { Timer::add(1,function() { echo ‘这是进程2.进程2...‘; }); }else if ($worker->id === 3) { Timer::add(1,function() { echo ‘进程3,这是进程3....‘; }); } } } 添加一个入口文件worker.php,内容如下: <?php define(‘APP_PATH‘,__DIR__ . ‘/../app/‘); define(‘BIND_MODULE‘,‘task/Worker‘); // 加载框架引导文件 require __DIR__ . ‘/../thinkphp/start.php‘;
?最后,用cli模式执行一下上面这个入口文件即可(window系统使用cmd) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |