1.在application目录下创建crontab模块(统一存放定时任务)
2.在command目录下创建Task.php 代码如下:
<?php
namespace app\crontab\command;
use think\console\Command;
use think\console\Input;
use think\console\input\Argument;
use think\console\input\Option;
use think\console\Output;
use think\Db;
class Task extends Command
{
protected function configure()
{
$this->setName('task')
->setDescription('定时计划:每天生成一个日期文件');
}
protected function execute(Input $input, Output $output)
{
file_put_contents(time().'.txt', '当前日期为:'.date('Y-m-d'));
}
}
3.在application的command.php 文件中添加
return [
'app\crontab\command\Task',
]
4.我这里用的linux 需要设置 crontab 在linux下 crontab -e 添加定时执行内容
*/1 * * * * /usr/bin/php /home/www/test/think task
# 项目根目录 home/www/test/
# 必加,跟在项目根目录后 think
# 任务名 task
# /usr/bin/php 的安装目录查看命令 whereis php