【ThinkPHP】定时任务
在ThinkPHP框架中创建定时任务通常有两种方法:使用Cron模块或者操作系统的定时任务工具如cronjob。
方法一:使用Cron模块
- 在项目的
Application/Common/Common/function.php
文件中定义一个执行定时任务的方法:
// function.php
function myCronJob() {
echo "定时任务执行中...";
// 这里执行你的定时任务逻辑
}
- 在
Application/Common/Conf/tags.php
配置标签:
// tags.php
return [
'cron' => [
['app\\common\\function\\myCronJob', 'execute'],
],
];
- 在入口文件
index.php
中添加执行定时任务的代码:
// index.php
if (IS_CLI) {
tag('cron');
}
- 在命令行中执行定时任务:
php think cron
方法二:使用操作系统的CronJob
- 创建一个shell脚本
mytask.sh
:
#!/bin/bash
cd /path/to/your/thinkphp/project
/usr/bin/php think cron
- 给脚本执行权限:
chmod +x mytask.sh
- 添加定时任务到crontab:
crontab -e
- 添加以下内容到crontab文件:
* * * * * /path/to/your/mytask.sh
这样,每分钟系统都会执行mytask.sh
脚本,进而执行ThinkPHP项目中的定时任务。
注意:以上代码示例可能需要根据你的项目路径和具体需求进行相应的调整。
评论已关闭