ThinkPHP3.2.3 实现定时计划的两种方式 -- 1. 框架的行为扩展 2.被定时计划调用的 PHP 脚本

本文介绍两种实现ThinkPHP定时任务的方法:一是通过行为扩展适用于对时间精度要求不高的场景;二是通过定时计划任务,适用于时间精度要求较高的场景,并提供具体实施步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
1.通过行为扩展 -- 何时对时间精度要求不高的场合
a. 首先在应用公共配置目录下新建文件 crons.php (Application/Common/Conf)
<?php
return array(
    'cron' => array('myplan', 10),
    // cron (任务名) 参数一 (任务文件名 -- 只能是不带路径的文件名, 为要执行的 php 文件目录在 common/Cron) 
    // 参数三 (下次执行时间)
);
 
b. 在应用公共配置目录下新建文件 tags.php (Application/Common/Conf)
<?php
return array(
    'app_begin' => array('Behavior\CronRunBehavior'),
);
 
c. 创建文件夹 Application/Common/Cron, 然后在其中添加 myplan.php 文件
<?php
    echo date('Y-m-d H:i:s') . '执行定时任务!';
2.配合定时计划 -- 适合时间经度要求较高的场合
1. 建立批处理的入口文件: Application/Common/Cron/CliCron.php
<?php
if(PHP_SAPI != 'cli') {
    die;
}
chdir('../../../');

define('WIN_CRON', true);
define('BIND_MODULE', 'Manage');
define('BIND_CONTROLLER', 'Cron');
define('APP_MODE', 'api');
require getcwd() . '/index.php';
 
2. 建立批处理文件: Application/Common/Cron/CliCron.bat
:: 切换目录,根据自己的实际配置酌情修改
F:
cd F:\phpStudy\WWW\dev\thinkphp_3.2.3_full_source_analyze\Application\Common\cron
:: 如果 php 不在环境变量中则需要使用绝对路径
F:\phpStudy\php\php-5.6.27-nts\php.exe CliCron.php
:: 用于调试, 实际项目中删掉
::pause
 
3. 建立实际业务逻辑的控制器: Application/Controller/CronController.class.php
<?php
namespace Manage\Controller;
use Think\Controller;
// 定时任务配合 Common/Cron/CliCron.php
class CronController extends Controller{
    public function _initialize(){
        if ( ! defined('CLI_CRON'){
            die;
        }
    }

    public function index(){
        // 实际的业务逻辑处理部分
        echo '123';
    }
}
 


查看原文:https://hackoops.com/thinkphp3-2-3-shixiandingshijihuadeliangzhongfangshi-1-kuangjiadexingweikuozhan-2-beidingshijihuadiaoyongai.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胡德咏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值