Thinkphp框架使用定时执行模式

我们使用Thinkphp框架在日常使用中难免会碰到一些需要在后台自动执行的项目,如定时扫描等。虽然php提供了一些函数可以用代码实现,即使关闭浏览器也不会中断如:

济阳ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!

ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.

set_time_limit(0);//通过set_time_limit(0)可以让程序无限制的执行下去

ini_set('memory_limit','512M');//设置内存限制

$interval=60*30;//每隔半小时运行

do{

//ToDo

sleep($interval);//等待5分钟

}

while(true);

但是这种方法有一种致命的缺陷,就是无法控制,除非你结束php进程,内存消耗也很大,难以在实践中使用

想要在性能和管理上更为合理,使用服务器提定时执行更为方便,拿windows为便,如果我们直接使用F:\index.phpHome/index会发现无法执行。因为绝对路径无法调用thinkphp所以tp提供了使一种模式Cli模式。使用这种模式也非常简单方便:

首先复制一份index.php更名为cli.php放在根目录。然后增加一行代码

define('APP_MODE','cli');

设置为cli模式

再到ThinkPhp/Model/Sae目录下复制一份api.php更名为cli.php

这样cli模式就配置完成了。我们可以用win自带的定时执行测试一下。

我们写一个.bat

先找到php执行文件的路径在bat文件里写上执行代码如:

E:\php.exeF:\cli.phpHome/Index/index

前一段为php服务的路径,后一段为tp项目的执行路径。执行模块HOME下控制index控制器下的index操作。自行成功为自行关闭,如果失败会显示错误代码。

如果要执行多次任务,复制一行即可

成功后可以把代码在定时任务里配置好,设置好定时时间,定时任务就配置完成了

分享文章:Thinkphp框架使用定时执行模式
本文URL:https://www.cdcxhl.com/article8/sjsoip.html

成都网站建设公司_创新互联,为您提供小程序开发网站改版网站设计公司响应式网站网页设计公司网站收录

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联