測試環境:php7 + nginx +linux
首先去官網下載workerman:https://www.workerman.net/,建議使用composer 安裝
新建一個模塊,由於我這里使用workerman來做自動任務的,所以我這個模塊的名稱為:task
在controller文件夾里面新建一個控制器:Worker.php,里面的代碼如下
<?php namespace app\task\controller; use think\worker\Server; use Workerman\Lib\Timer; 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)