时间:2021-07-01 10:21:17 帮助过:45人阅读
假设Yii项目路径为 /home/apps/
1,创建文件 /home/apps/protected/commands/crons.php
<?php $yii = '/home/apps/framework/yii.php'; require_once ($yii); $configFile = dirname (FILE).'/../config/console.php'; Yii::createConsoleApplication($configFile)->run();
2,创建需要的配置文件 /home/apps/protected/config/console.php,配置需要的组件、数据库连接,日志等信息,格式类似主配置文件main.php。
<?php return array( 'basePath'=>dirname(FILE).DIRECTORY_SEPARATOR.'..', 'name'=>'Emergency', 'import'=>array( 'application.models.*', 'application.components.*', 'application.extensions.*', ), 'components'=>array( 'log'=>array( 'class'=>'CLogRouter', 'routes'=>array( array( 'class'=>'CFileLogRoute', 'levels'=>'info, warning, error', ), ), ), 'db'=>array( 'class'=>'application.extensions.PHPPDO.CPdoDbConnection', 'pdoClass' => 'PHPPDO', 'connectionString' => 'mysql:host=xxxx;dbname=xxx', 'emulatePrepare' => true, 'username' => 'xxx', 'password' => 'xxx', 'charset' => 'utf8', 'tablePrefix' => 'tbl_', ), ), 'params' => require('params.php'),);
3,在 /home/apps/protected/commands/ 下新建 TestCommand 类,继承 CConsoleCommand,在TestCommand中,可以使用项目的配置信息和Yii的各种方法。
<?php class TestCommand extends CConsoleCommand { public function run() { ... } }
4,创建定时任务
$ crontab -e
内容为:
1 * * * * /home/php/bin/php -f /home/apps/protected/commands/crons.php Test &即为每小时的第一分钟执行TestCommand类中的内容,类似的可以在/home/apps/protected/commands/下新建其他类,使用命令行执行。
有关crontab的用法,可以参考:
crontab命令基础与实例 crontab命令的一些例子 linux安装crontab详解 crontab学习笔记 学习linux设置定时任务的crontab命令 crontab 命令格式与例子 linux定时任务设置crontab学习 不错的crontab教程
相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!
推荐阅读:
thinkphp中volist标签使用案例详解
PHP使用Z字形顺序打印二叉树步骤详解
thinkphp中volist标签在ajax使用有哪些注意事项
以上就是yii框架通过控制台命令创建定时任务步骤详解的详细内容,更多请关注Gxl网其它相关文章!