TP5 Command 定时任务(windos)

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

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

TP5 Command 定时任务(windos)_第1张图片

Task.php:

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

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

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

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版本,所以一直报错!。后来屏蔽这个扩展后就正常!!!

TP5 Command 定时任务(windos)_第2张图片

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

TP5 Command 定时任务(windos)_第3张图片

2. windos 创建定时任务

TP5 Command 定时任务(windos)_第4张图片

TP5 Command 定时任务(windos)_第5张图片

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

 TP5 Command 定时任务(windos)_第6张图片

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

你可能感兴趣的:(ThinkPHP5)