今天,我们使用YII2特有的控制台命令来进行计划任务的编写。控制台主要用于创建网站后台处理的任务。在项目根目录下执行相关操作,有意思的事,可以通过 yii 自带的功能,列出当前已有的命令。你只需要进入项目的根目录(带有yii可执行文件的目录),yii属于控制台命令的入口文件。 然后 php(php可执行文件) yii 就可以出来结果


正如你在截图中看到,Yii 中已经定义了一组默认情况下可用的命令:

  • AssetController - 允许合并和压缩你的 JavaScript 和 CSS 文件。 在 资源 - 使用 asset 命令 一节可获取更多信息。
  • CacheController - 清除应用程序缓存。
  • FixtureController - 管理用于单元测试 fixture 的加载和卸载。 这个命令的更多细节在 Testing Section about Fixtures.
  • HelpController - 提供有关控制台命令的帮助信息, 这是默认的命令并会打印上面截图所示的输出。
  • MessageController - 从源文件提取翻译信息。 要了解更多关于这个命令的用法,请参阅 I18N 章节.
  • MigrateController - 管理应用程序数据库迁移。 在 数据库迁移章节 可获取更多信息。
  • ServeController - Allows you run PHP built-in web server.

除了上面展示出的yii自带的控制台命令,其余的命令就是你自己在console下实现的脚本命令(就是你在console下写的控制器,也可以通过上面的方式打印并展示在其中)。比如下面


使用crontab定时任务做YII定时脚本时,只需要命令进入到项目根目录 执行指定路由即可

例如上面的hello/show :

1 1 * * * (分时日月周) cd /......./blogs;  php  yii  hello/show