tp5通过workerman添加一个定时器
1.首先你需要 tp5完整版vendor自带 workerman ,自已下载的好像不行
2.添加一个server.php启动文件,在根目录下public/server.php
server.php代码是:
<?php // [ 应用入口文件 ] // 定义应用目录 define('APP_PATH', __DIR__ . '/../app/'); define('BIND_MODULE','push/Worker'); require __DIR__ . '/../thinkphp/start.php';
3.添加一个push模块,和Worker控制器及MyTimer控制器
Worker.php 控制器代码
<?php namespace app\push\controller; use think\worker\Server; class Worker extends Server { protected $processes=1; public function onWorkerStart($work) { $handle=new MyTimer();//定时控制器 $handle->add_timer();//添加定时方法 } }
MyTimer.php 控制器代码
<?php namespace app\push\controller; use Workerman\Lib\Timer; class MyTimer { //定时器 public function add_timer(){ Timer::add(5, array($this, 'index'), array(), true); } //执行方法 public function index() { echo file_put_contents("test.txt", "PHP是最好的语言!", FILE_APPEND); //每5秒向test.txt写入PHP是最好的语言! } }
在linux服务器找到你刚创建的 server.php文件,启动
php server.php start -d
记得服务器开放 2346端口