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 相关文章推荐
第五节 克隆 [5]
Oct 09 PHP
IIS+PHP+MySQL+Zend配置 (视频教程)
Dec 13 PHP
开源SNS系统-ThinkSNS
May 18 PHP
php file_get_contents函数轻松采集html数据
Apr 22 PHP
php的list()的一步操作给一组变量进行赋值的使用
May 18 PHP
php学习之 数组声明
Jun 09 PHP
ThinkPHP实现一键清除缓存方法
Jun 26 PHP
smarty模板引擎之内建函数用法
Mar 30 PHP
php下载文件超时时间的设置方法
Oct 06 PHP
PHPTree――php快速生成无限级分类
Mar 30 PHP
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
Apr 27 PHP
PHP中isset、empty的用法与区别示例详解
Nov 05 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中通过ADO调用Asscess数据库和COM程序
2006/10/09 PHP
AJAX for PHP简单表数据查询实例
2007/01/02 PHP
PHP 批量删除数据的方法分析
2009/10/30 PHP
php做下载文件的实现代码及文件名中乱码解决方法
2011/02/03 PHP
PHP中usort在值相同时改变原始位置问题的解决方法
2011/11/27 PHP
php网站地图生成类示例
2014/01/13 PHP
微信自定义菜单的处理开发示例
2015/04/16 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
2019/03/22 PHP
jquery属性过滤选择器使用示例
2013/06/18 Javascript
jquery实现动态菜单的实例代码
2013/11/28 Javascript
JS连连看源码完美注释版(推荐)
2013/12/09 Javascript
JS实现的论坛Ajax打分效果完整实例
2015/10/31 Javascript
解决JS无法调用Controller问题的方法
2015/12/31 Javascript
jQuery实现的分子运动小球碰撞效果
2016/01/27 Javascript
js如何准确获取当前页面url网址信息
2020/09/13 Javascript
如何解决hover在ie6中的兼容性问题
2016/12/15 Javascript
jQuery 控制文本框自动缩小字体填充
2017/06/16 jQuery
简单谈谈React中的路由系统
2017/07/25 Javascript
Vue.js上传图片到阿里云OSS存储的方法示例
2018/12/13 Javascript
微信小程序自定义tabBar在uni-app的适配详解
2019/09/30 Javascript
js实现无缝轮播图效果
2020/03/09 Javascript
Element Notification通知的实现示例
2020/07/27 Javascript
python获取远程图片大小和尺寸的方法
2015/03/26 Python
对Python+opencv将图片生成视频的实例详解
2019/01/08 Python
Python之数据序列化(json、pickle、shelve)详解
2019/08/30 Python
关于多元线性回归分析——Python&amp;SPSS
2020/02/24 Python
pandas中ix的使用详细讲解
2020/03/09 Python
Python3+selenium实现cookie免密登录的示例代码
2020/03/18 Python
解决django 向mysql中写入中文字符出错的问题
2020/05/18 Python
Python基于yaml文件配置logging日志过程解析
2020/06/23 Python
Visual Studio code 配置Python开发环境
2020/09/11 Python
HTML5到底会有什么发展?HTML5的前景展望
2015/07/07 HTML / CSS
HTML5拖放API实现自动生成相框功能
2020/04/07 HTML / CSS
大学运动会入场词
2014/02/22 职场文书
高中班主任心得体会
2016/01/07 职场文书
MySQL日期时间函数知识汇总
2022/03/17 MySQL