Windows下用cmd命令实例讲解yii2.0在php命令行中运行的步骤

Posted 一个人的孤独自白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows下用cmd命令实例讲解yii2.0在php命令行中运行的步骤相关的知识,希望对你有一定的参考价值。

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

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

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

<?php
namespace app\\commands;
use yii\\console\\Controller;
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 . "\\n";
  }
}

从上面可以看出,在命令行运行时,会继承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中的三种控制器类

base\\Controller.php        这个是下面两个的基类
console\\Controller.php   这个是控制台控制器
web\\Controller.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 ,定时任务执行方法

以上是关于Windows下用cmd命令实例讲解yii2.0在php命令行中运行的步骤的主要内容,如果未能解决你的问题,请参考以下文章

Windows下用cmd跳转指定目录

vb 下用shell实现 cmd 执行2个命令

在CMD下用java命令出现“找不到或无法加载主类”问题

Windows下用cmake编译Caffe

windows下用docker下载安装zookeeper

在CMD下用java命令出现“找不到或无法加载主类”问题