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文件的实现方法
Mar 19 PHP
实用函数4
Nov 08 PHP
php结合表单实现一些简单功能的例子
Jun 04 PHP
php fsockopen中多线程问题的解决办法[翻译]
Nov 09 PHP
基于PHP生成静态页的实现方法
May 10 PHP
php编写的一个E-mail验证类
Mar 25 PHP
php实现文本数据导入SQL SERVER
May 17 PHP
10个超级有用的PHP代码片段果断收藏
Sep 23 PHP
php获取当前url地址的方法小结
Jan 10 PHP
PHP+Redis 消息队列 实现高并发下注册人数统计的实例
Jan 29 PHP
php处理抢购类功能的高并发请求
Feb 08 PHP
PHP Post获取不到非表单数据的问题解决办法
Feb 27 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 date函数参数详解
2006/11/27 PHP
PHP 接入微信扫码支付总结(总结篇)
2016/11/03 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
Javascript浮点数乘积运算出现多位小数的解决方法
2014/02/17 Javascript
js+jquery实现图片裁剪功能
2015/01/02 Javascript
JavaScript基本的输出和嵌入式写法教程
2015/10/20 Javascript
jQuery获取浏览器类型和版本号的方法
2016/07/05 Javascript
AngularJS控制器controller给模型数据赋初始值的方法
2017/01/04 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
2017/01/10 Javascript
Bootstrap进度条学习使用
2017/02/09 Javascript
angular实现图片懒加载实例代码
2017/06/08 Javascript
Element input树型下拉框的实现代码
2018/12/21 Javascript
JavaScript, select标签元素左右移动功能实现
2020/05/14 Javascript
在vant 中使用cell组件 定义图标该图片和位置操作
2020/11/02 Javascript
Python是编译运行的验证方法
2015/01/30 Python
仅利用30行Python代码来展示X算法
2015/04/01 Python
Python读取指定目录下指定后缀文件并保存为docx
2017/04/23 Python
python防止随意修改类属性的实现方法
2019/08/21 Python
python3的url编码和解码,自定义gbk、utf-8的例子
2019/08/22 Python
Python分割训练集和测试集的方法示例
2019/09/19 Python
CSS3打造磨砂玻璃背景效果
2016/09/28 HTML / CSS
美国购买和销售礼品卡平台:Raise
2017/01/13 全球购物
Sephora丝芙兰印尼官方网站:购买化妆品和护肤品
2018/07/02 全球购物
Etam艾格英国官网:法国著名女装品牌
2019/04/15 全球购物
如何用JQuery进行表单验证
2013/05/29 面试题
会计系个人求职信范文分享
2013/12/20 职场文书
社会实践心得体会
2014/01/03 职场文书
高三毕业典礼演讲稿
2014/05/13 职场文书
万能检讨书
2015/01/27 职场文书
房地产公司工程部经理岗位职责
2015/04/09 职场文书
垂直极限观后感
2015/06/08 职场文书
费城故事观后感
2015/06/10 职场文书
解约证明模板
2015/06/19 职场文书
安全责任协议书范本
2016/03/23 职场文书
vue特效之翻牌动画
2022/04/20 Vue.js
详解Flutter自定义应用程序内键盘的实现方法
2022/06/14 Java/Android