TP5 Command 定时任务(windos)

一:开发手册:https://www.kancloud.cn/manual/thinkphp5_1/354146

1.根据个人需求在某个模块下建立command文件夹,与controller文件夹同级。新建php文件,命名随意。

Task.php:

<?php

namespace app\index\command;    //命名空间要注意
use think\console\Command;
use think\console\Input;
use think\console\Output;

class Task extends Command{

    protected function configure(){
        $this->setName('Task')->setDescription("测试");
        //这里的setName和php文件名一致,setDescription随意
    }

    /*
     * 报表-全局统计
     */
    protected function execute(Input $input, Output $output)
    {
        //这里写业务逻辑.推荐使用方法调用的形式。例如模型中的方法
        $output->writeln("Hello"); //输出测试
    }
}

2.找到项目中command.php文件

<?php

return [
    'app\index\command\Task' //指向定时任务的文件
];

3.创建.bat 文件(随便新建一个txt文件,写入以下代码。注意路径需要更换成你的项目路径)

D:  //进入D盘
cd \PhpStudy\PHPTutorial\WWW\qp_huskar   //cd 命令后面是项目文件根目录
D:\PhpStudy\PHPTutorial\php\php-7.2.1-nts\php.exe think EnvelopeOrderTaskk // 用php.exe打开think Task任务

二 .这样算是基本完成。接下来进入测试阶段。 两种测试方式。

测试的时候遇到一个天坑!!。我在安装redis的时候。在php.ini中开启了php_igbinary.dll扩展。在测试定时任务的时候一直报错这个扩展模块找不到。但是我回头去检查PHP文件中明明存在这个扩展。最后才发现原来这个扩展是为了给redis加速,并且这个扩展没有对应当前PHP版本,所以一直报错!。后来屏蔽这个扩展后就正常!!!

1.进入项目根目录 shift+鼠标右键,  打开 '在此处打开命令行' ,输入php think Task(文件名)

2. windos 创建定时任务

操作这边需要注意:起始于这个参数如果不填有时候会出现权限问题,找不到文件。

 

三:还有一种不使用Command的定时任务。可以用.bat或ssh 直接指向某个方法。(百度上有我就不贴了)

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值