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控制器

时间: 2024-12-31 03:53:41

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

Windows下的cmd命令行中设置环境编码

我们都知道,Windows下的cmd命令行默认编码是Windows系统的编码,就是ANSI编码或者说是GBK编码的,这样我们编写的很多应用比如php编写utf-8编码的应用在命令行下面运行时都会出现乱码的情况,原因就是因为运行环境的编码使用自己的编码去解析程序运行结果,而程序本身返回编码和解析编码不一致,最后导致乱码情况的发生. 遇到这种情况,我们可以通过设置cmd命令行环境的编码使编码保持统一来解决,方法如下: 在命令行中,有个命令是chcp,这个命令是用来显示当前活动代码页编号的,也可以理解

java学习总结(16.05.08)在windows下使用cmd命令行对java文件进行编译和执行

windows下利用cmd命令行可以调用jdk里的javac.exe和java.exe对java文件进行编译和执行,前提是jdk已成功安装并正确配置相关环境变量(jdk安装与环境变量的配置方法:http://blog.csdn.net/qq_32099621/article/details/51339868) 下面来说一下windows下如何使用cmd命令行来编译执行java文件 首先找到需要编译和执行的java文件 这里我要编译和执行这个java文件 按组合键win+r调出"运行",

在windows下使用cmd命令全速下载百度云文件

在windows下使用cmd命令全速下载百度云文件 需要的工具BaiduPCS-GO(链接:https://pan.baidu.com/s/19Sn8gmNi_GZHJwUPu79DPg 密码:gqib)(windows平台就不用说了吧!) 1.先把BaiduPCS-GO加入换将变量(我的BaiduPCS-GO存放在“D:\Program Files (x86)\BaiduPCS-GO”文件夹下) 2.测试BaiduPCS-GO环境是否已经配置好 (Win+R调出cmd,输入BaiduPCS-G

windows下的oracle database 实例无法自动open database的问题

注意:本文适用的前提是:windows 服务中的OracleServiceLEI是自动或者是手工启动的. 在日常的运维过程中,若是遇到windows下的oracle database 实例无法自动open database的问题,我一般都是弄一个bat脚本放在windows启动里, 如下是脚本的内容: startup.bat的内容如下: net start OracleCSService set oracle_sid=+asm net start OracleASMService+ASM set

Linux下sudo命令实例讲解

一.sudo简介 1.概念: sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令,如halt,reboot,su等等.这样不仅减少了root用户的登陆和管理时间,同样也提高了安全性.Sudo不是对shell的一个代替,它是面向每个命令的. 它的特性主要有这样几点: 1.sudo能够限制用户只在某台主机上运行某些命令. 2.sudo提供了丰富的日志,详细地记录了每个用户干了什么.它能够将日志传到中心主机或者日志服务器. 3.sud

Windows下手动创建Oracle实例

环境版本: Oracle 11g R2 Windows 7旗舰版X32 步骤目录: 1.确定数据库和实例名称 2.确认数据库认证方式 3.创建数据库初始化参数文件 4.创建实例 5.连接并启动实例 6.使用create database创建数据库 7.创建数据库附加表空间 8.运行脚本创建数据字典视图 9.创建服务器初始化文件 具体实施: 1.确定数据库和实例名称 DB_NAME = DBByManual SID = DBByManual 2.确定数据库认证方式 数据库认证方式有两种认证方式:

Windows下多个Mysql实例配置主从(转)

https://www.cnblogs.com/jpfss/p/8143720.html 序: 网上有很多类似的文章,也是各种百度出来的,但是对于多数刚开始接触MYSQL主从的小白来说,网上文章的代码里面很多技术点都没有理解,有跌打误撞碰上的,但多数都是这篇文章卡主了,换篇文章接着卡.- -. 下面真正开始写教程之前,我希望你能够先完整的看完,再去敲代码. 方法适用于MYSQL 5.1之后的版本.之前的版本,自行百度. Mysql的主从是个什么德行我就不解释了.不然你也不会搜不到这篇文章. 环境

chroot 命令实例讲解

我是一个刚接触 Linux 和 Unix 的新手.我该如何改变一个命令的根目录?我要怎样改变一个进程的根目录呢,比如用 chroot 命令将web服务与文件系统隔离?我要如何使用 chroot 恢复密码或修复基于 Linux/Unix的受损坏的环境? 在 Linux和类 Unix 系统下每一个进程/命令的当前工作目录称之为进程/命令的根目录(译注:译者以为此处有误,实际上没有进行过chroot的进程,其根目录是系统的根目 录,而不是其工作目录).你可以使用 chroot 命令改变一个命令的根目录

当有多于64合乎逻辑的cpu时刻,Windows 下一个Oracle db 实例启动(startup)什么时候会hang(待定)

Bug 9772171 - Database startup hangs on Windows when machine has more than 64 cores [ID 9772171.8] 该文章已经说明:在11.2.0.2 已经fix(解决)该bug. 而如今11gR2版本号已经推出了11.2.0.4.而且11.2.0.4是终于的11gR2版本号. 所以我们推荐安装11.2.0.4 外加最新的psu 最新的psu能够 查询这个文章获得:Oracle Database, Networki