zoukankan      html  css  js  c++  java
  • Windows下用cmd命令实例讲解yii2.0 的控制台定时任务

    Yii中的资源是和Web页面相关的文件,可为CSS文件,JavaScript文件,图片或视频等,资源放在Web可访问的目录下,直接被Web服务器调用。

    有时候有些功能需要做到计划任务中去,因此就需要yii能用php命令去执行。yii2.0是支持php命令行运行的,操作方法如下:

    在yii根目录下面有个“yii”文件(不是“yii.bat”),这个文件就是入口。然后“commands”目录下会默认有个“HelloController.php”控制器文件,这个是一个demo。打开这个控制器文件,源码如下(删掉了部分注释):

    <?php
    namespace appcommands;
    use yiiconsoleController;
    class HelloController extends Controller
    {
      /**
       * This command echoes what you have entered as the message.
       * @param string $message the message to be echoed.
       */
      public function actionIndex($message = 'hello world')
      {
        echo $message . "
    ";
      }
    }

    从上面可以看出,在命令行运行时,会继承console下的Controller;而一般“controllers”目录中的控制器会继承web下的Controller。

    所以在php命令行中执行yii脚本的步骤为:

    1.新建一个脚本

    在“commands”目录下面按照“HelloController.php”的格式新建一个控制器脚本文件。

    2.在命令行执行脚本

    在命令行敲入“php yii项目所在路径/yii 控制器名/方法名”,例如“php E:/wwwroot/yii2/yii hello/index”

    如下图所示1:

    :或下图所示2:

    需要注意的是:php一定要设置环境变量后才能这么用。想知道php是否已加入环境变量,请用“php -v”命令来查看。

    Yii中的三种控制器类

    baseController.php        这个是下面两个的基类
    consoleController.php   这个是控制台控制器
    webController.php        这个是web控制器

    总结如下:

    1:command创建任务
    2:Windows测试 :进入根目录 命令yii 加上你的任务如 yii hello
    3:Linux测试: 同Windows
    4:crontab建立: 定时时间 php目录 yii根目录/yii hello 如:01 1 * ** /opt/php/bin/php /data/www/weixin_yii/yii hello

    linux ,定时任务执行方法

  • 相关阅读:
    CentOS 6找不到partprobe命令的解决方法
    RTL源码归类与路径
    拓扑排序
    Char、AnsiChar、WideChar、PChar、PAnsiChar、PWideChar 的区别
    Delphi Byte与数据类型之间的转换
    Delphi byte[]转换为int
    Delphi Byte数组与Int String之间的相互转换
    delphi TTcpClient TTcpServer分析
    Delph7中TcpClient和TcpServer用法分析
    动态数组的使用
  • 原文地址:https://www.cnblogs.com/-mrl/p/7151274.html
Copyright © 2011-2022 走看看