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 相关文章推荐
ajax+php打造进度条代码[readyState各状态说明]
Apr 12 PHP
fleaphp crud操作之findByField函数的使用方法
Apr 23 PHP
smarty巧妙处理iframe中内容页的代码
Mar 07 PHP
php和javascript之间变量的传递实现代码
Dec 19 PHP
PHP Global定义全局变量使用说明
Aug 15 PHP
PHP自动生成后台导航网址的最佳方法
Aug 27 PHP
Zend Framework框架Smarty扩展实现方法
Mar 22 PHP
CI框架数据库查询缓存优化的方法
Nov 21 PHP
PHP封装的多文件上传类实例与用法详解
Feb 07 PHP
PHP判断json格式是否正确的实现代码
Sep 20 PHP
php策略模式简单示例分析【区别于工厂模式】
Sep 25 PHP
thinkPHP框架乐观锁和悲观锁实例分析
Oct 30 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读取RSS feed的代码
2008/08/01 PHP
基础的WordPress插件制作教程
2015/11/24 PHP
PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图
2017/05/15 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
PHP实现求两个字符串最长公共子串的方法示例
2017/11/17 PHP
php5与php7的区别点总结
2019/10/11 PHP
php使用redis的有序集合zset实现延迟队列应用示例
2020/02/20 PHP
[原创]js与自动伸缩图片 自动缩小图片的多浏览器兼容的方法总结
2007/03/12 Javascript
javascript获得网页窗口实际大小的示例代码
2013/09/21 Javascript
JavaScript组件焦点与页内锚点间传值的方法
2015/02/02 Javascript
关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法
2016/06/30 Javascript
谈谈target=_new和_blank的不同之处
2016/10/25 Javascript
原生JS实现图片网格式渐显、渐隐效果
2017/06/05 Javascript
jQuery.Form实现Ajax上传文件同时设置headers的方法
2017/06/26 jQuery
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
2017/10/26 Javascript
基于vue-element组件实现音乐播放器功能
2018/05/06 Javascript
微信小程序websocket聊天室的实现示例代码
2019/02/12 Javascript
jQuery AJAX与jQuery事件的分析讲解
2019/02/18 jQuery
vue组件中实现嵌套子组件案例
2020/08/31 Javascript
jQuery实现tab栏切换效果
2020/12/22 jQuery
[01:01:43]EG vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
2017/12/15 Python
Python实现的字典值比较功能示例
2018/01/08 Python
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
Python3实现对列表按元组指定列进行排序的方法分析
2018/12/22 Python
Python中turtle库的使用实例
2019/09/09 Python
Python切图九宫格的实现方法
2019/10/10 Python
基于Python的OCR实现示例
2020/04/03 Python
python实现飞船大战
2020/04/24 Python
突袭HTML5之Javascript API扩展2—地理信息服务及地理位置API学习
2013/01/31 HTML / CSS
JAVA的事件委托机制和垃圾回收机制
2014/09/07 面试题
合伙经营协议书范本
2014/04/18 职场文书
党员承诺书范文
2014/05/19 职场文书
高考标语大全
2014/06/05 职场文书
群众路线问题查摆对照检查材料
2014/10/04 职场文书
小米11和iphone12哪个值得买?小米11对比iphone12评测
2021/04/21 数码科技