在 Ubuntu 上配置 ThinkPHP 的定时任务,你需要遵循以下步骤:
确保已经安装了 PHP 和 ThinkPHP 框架。如果还没有安装,请参考官方文档进行安装:ThinkPHP 安装
在 ThinkPHP 项目中创建一个新的控制器,例如 CrontabController
,并在其中添加一个方法,例如 runTask
,用于执行定时任务。示例代码如下:
<?php
namespace app\index\controller;
use think\Controller;
class CrontabController extends Controller
{
public function runTask()
{
// 在这里编写你的定时任务逻辑
echo "Hello, ThinkPHP Crontab!\n";
}
}
application
目录下创建一个新的配置文件,例如 crontab.php
,并添加以下内容:<?php
return [
'schedule' => [
'task_name' => [
'type' => 'command',
'command' => 'php ' . ROOT_PATH . 'think runTask',
'cron' => '*/1 * * * *', // 每分钟执行一次,你可以根据需要调整时间间隔
],
],
];
这里,我们定义了一个名为 task_name
的定时任务,它将每分钟执行一次 runTask
方法。
sudo nano /etc/systemd/system/thinkphp-crontab.service
[Unit]
Description=ThinkPHP Crontab Service
After=syslog.target network.target
[Service]
Type=simple
User=www-data
Group=www-data
ExecStart=/usr/bin/php /path/to/your/thinkphp/project/artisan schedule:run --daemon
Restart=on-failure
[Install]
WantedBy=multi-user.target
请确保将 /path/to/your/thinkphp/project
替换为你的 ThinkPHP 项目的实际路径。
sudo systemctl daemon-reload
sudo systemctl start thinkphp-crontab.service
sudo systemctl enable thinkphp-crontab.service
现在,你的 ThinkPHP 定时任务已经在 Ubuntu 上配置好了。你可以根据需要调整 crontab.php
文件中的时间间隔以满足你的需求。