yii2 commands模式以及配置crontab定时任务的方法


Posted in PHP onAugust 19, 2017

一 ,检测环境:

首先我们切换到项目根目录,yii2正常安装的话有一个commands文件夹,里面有一个示例文件HelloController.php

<?php
namespace app\commands;
use yii\console\Controller;
class HelloController extends Controller
{
 public function actionIndex($message = 'hello world')
 {
  echo $message . "\n";
 }
}

切到项目根目录,命令行输出  php yii hello,输出hello world 说明环境正常

二,书写代码:

可以在commands文件夹新建控制器文件,继承yii\console\Controller;定义类方法,actionIndex方法一般为默认路由,

调试时在项目根目录输入php yii 加上控制器名字(小写)/路由(index的话可省略)

三,linux定时任务crontab.

1关于crontab:

在linux环境下,crontab -l显示定时任务,crontab -e编辑定时任务

2基本语法

基本格式 :

*****command
分 时 日 月 周 命令

第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

3用法示例

30 21 * * * /usr/local/etc/rc.d/lighttpd restart

#上面的例子表示每晚的21:30重启apache。

 45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
#上面的例子表示每月1、10、22日的4 : 45重启apache。

10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
#上面的例子表示每周六、周日的1 : 10重启apache。

0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
#上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。

0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
#上面的例子表示每星期六的11 : 00 pm重启apache。

0 */1 * * * /usr/local/etc/rc.d/lighttpd restart
#每一小时重启apache

四,linux定时任务crontab执行commands下控制器php文件内容

按第三步所写,后面加上 php yii + 项目根路径 + 路由(控制器名/方法名)即可

以上这篇yii2 commands模式以及配置crontab定时任务的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP经典的给图片加水印程序
Dec 06 PHP
PHP5中的时间相差8小时的解决办法
Mar 28 PHP
PHP实现异步调用方法研究与分享
Oct 27 PHP
php判断终端是手机还是电脑访问网站的思路及代码
Apr 24 PHP
php写的AES加密解密类分享
Jun 20 PHP
php的ddos攻击解决方法
Jan 08 PHP
php实现的通用图片处理类
Mar 24 PHP
PHP微信支付实例解析
Jul 22 PHP
php 猴子摘桃的算法
Jun 20 PHP
Laravel5.0+框架邮件发送功能实现方法图文与实例详解
Apr 23 PHP
PHP中__set()实例用法和基础讲解
Jul 23 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
Nov 23 PHP
利用 fsockopen() 函数开放端口扫描器的实例
Aug 19 #PHP
PHPMailer使用QQ邮箱实现邮件发送功能
Aug 18 #PHP
PHP实现自动发送邮件功能代码(qq 邮箱)
Aug 18 #PHP
详解PHP如何更好的利用PHPstorm的自动提示
Aug 18 #PHP
Laravel学习教程之本地化模块
Aug 18 #PHP
PDO操作MySQL的基础教程(推荐)
Aug 18 #PHP
Laravel学习教程之路由模块
Aug 18 #PHP
You might like
PHP脚本的10个技巧(7)
2006/10/09 PHP
php使用glob函数快速查询指定目录文件的方法
2014/11/15 PHP
简单谈谈php中ob_flush和flush的区别
2014/11/27 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
2015/12/16 PHP
Yii支持多域名cors原理的实现
2018/12/05 PHP
tp5(thinkPHP5框架)时间查询操作实例分析
2019/05/29 PHP
Document 对象的常用方法
2009/07/31 Javascript
javascript将数组插入到另一个数组中的代码
2013/01/10 Javascript
node.js适合游戏后台开发吗?
2014/09/03 Javascript
使用node.js 获取客户端信息代码分享
2014/11/26 Javascript
AngularJS教程之环境设置
2016/08/16 Javascript
vuejs在解析时出现闪烁的原因及防止闪烁的方法
2016/09/19 Javascript
关于js中的鼠标事件总结
2017/07/11 Javascript
利用JS实现一个同Excel表现的智能填充算法
2018/08/13 Javascript
基于vue框架手写一个notify插件实现通知功能的方法
2019/03/31 Javascript
一文读懂ES7中的javascript修饰器
2019/05/06 Javascript
js实现移动端轮播图滑动切换
2020/12/21 Javascript
vue实现可移动的悬浮按钮
2021/03/04 Vue.js
[02:15]2015国际邀请赛选手档案IG.Ferrari 430
2015/07/30 DOTA
python在文本开头插入一行的实例
2018/05/02 Python
为什么Python中没有&quot;a++&quot;这种写法
2018/11/27 Python
Python3内置模块random随机方法小结
2019/07/13 Python
Python列表切片常用操作实例解析
2020/03/10 Python
Python子进程subpocess原理及用法解析
2020/07/16 Python
3分钟看懂Python后端必须知道的Django的信号机制
2020/07/26 Python
Python 3.9的到来到底是意味着什么
2020/10/14 Python
python元组拆包实现方法
2021/02/28 Python
如何在Canvas上的图形/图像绑定事件监听的实现
2020/09/16 HTML / CSS
Clarks英国官方网站:全球领军鞋履品牌
2016/11/26 全球购物
Boolean b = new Boolean(“abcde”); 会编译错误码
2013/11/27 面试题
酒店总经理工作职责
2013/12/13 职场文书
热情服务标语
2014/10/07 职场文书
留学推荐信中文范文
2015/03/26 职场文书
初中生物教学随笔
2015/08/15 职场文书
小区物业管理2015年度工作总结
2015/10/22 职场文书
周一早安温馨问候祝福语!
2019/07/15 职场文书