发布于2026-07-17 阅读(0)
扫一扫,手机访问
在 CentOS 上给 ThinkPHP 项目配定时任务,其实是个挺常见的需求。流程不算复杂,把下面几个步骤走一遍,基本就能跑起来。

编写定时任务脚本
先在项目里创建一个命令行脚本,比如 app/command/MyTask.php。这个脚本负责定义定时任务的具体逻辑,内容大致如下:
namespace app\command;
use think\console\Command;
use think\console\Input;
use think\console\Output;
class MyTask extends Command
{
protected function configure()
{
// 设置命令名称和描述
$this->setName('mytask')
->setDescription('Describe the task here');
}
protected function execute(Input $input, Output $output)
{
// 这里是定时任务的逻辑
echo "执行定时任务...\n";
}
}
注册命令
第二步,把刚才写的命令注册到 application/console.php 文件里。如果项目里没有这个文件,自己建一个就行,内容参考下面:
return [
'commands' => [
'mytask' => \app\command\MyTask::class,
],
];
设置定时任务(crontab)
接下来轮到 Linux 的 crontab 登场了。打开终端,输入 crontab -e 编辑任务表:
crontab -e
然后在编辑器中添加一行,定义任务的执行时间和命令。比如想每分钟执行一次 mytask,就这样写:
* * * * * cd /path/to/your/project && php think mytask
记得把 /path/to/your/project 换成你的项目实际路径。
保存并退出
保存 crontab 文件,退出编辑器。crontab 会自动加载新配置,不用额外操作。
验证定时任务
最后,用 crontab -l 检查一下任务是否添加成功:
crontab -l
也可以手动跑一遍命令,测试脚本是否按预期工作:
php think mytask
这样一来,CentOS 上的 ThinkPHP 定时任务就搞定了。当然,上线之后别忘了定期检查,确保它们都在按预期跑,毕竟生产环境里“定时任务没执行”是最容易忽略的坑之一。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8