跳转到内容

如何配置定时任务

定时任务必须要配置好,才能正常工作的,有以下3种方法,你可以选择其中一种.

第1种,对于使用了宝塔环境的,比较简单,登录宝塔控制面板.如下图设置即可 注意换成你的域名 执行周期也可以你可以设置1分钟,也可以设置为2分钟。 提示:任何宝塔面板都可以设置,不一定是当前服务器的宝塔面板

https://x1.php168.com/index.php/index/task/index.html

img

**第2种,**如果是windows环境的话,就复杂一些. 1.找到你的PHP环境安装目录,把php.exe文件搜索出来.看看他在哪个目录,比如他在这个目录 D:\phpStudy\php\php-5.5.38\php.exe 然后你就在D盘根目录创建一个 task.bat 文件,里边输入如下内容

D:\phpStudy\php\php-5.5.38\php.exe D:\task.php

2.再到D盘根目录创建一个task.php文件,里边输入如下内容,其中第二行是做个日志,可以删除掉的

<?php
file_put_contents(__DIR__.'/task_log.txt', date('Y-m-d H:i:s')."\r\n",FILE_APPEND ); //这一行是日志,可以删除
file_get_contents('https://x1.php168.com/index.php/index/task/index.html'); //把网址换成自己的
echo '执行任务';
?>

两个文件都创建好后,就要配置windows的定时任务了

3.进入控制面板,再进入管理工具,如下图,有三项是需要配置的.

efbddaeca4b180afa07ac78f5e295f25_1662x751

879dc841374a7d0887d1adf3e827e70c_666x612

4a6f60205e378e2c106ecd516c97cc47_742x623

最后他还会提示你输入管理员的登录密码才能生效的.以后管理员密码改了,也需要重新设置才行. 每一项都按图片的标注设计即可.其它就默认的. 执行时间间隔最好就10分钟吧.

**第3种,**对于没有服务器的情况,你就只能配置钩子文件,让网页随用户的访问来刷新定时任务.如果你的网站一天都没人访问的话,那么定时任务可能就会一直不执行.所以有服务器的话,最好不要选择这种.会非常被动.需要有用户访问才会刷新生效。所以起不到真正定时任务的作用。 21ab008d0da2080025599b34545d14be_1469x892 启用钩子后,请确认你的网站前台所有页面都包含有下面这段代码

<script type="text/javascript">
$.get("/index.php/index/task/index.html",function(res){
if(res.code==0){
layer.msg('你成功执行了一条定时任务!');
}
});
</script>

启用后,如果找不到这段代码,那估计你的风格布局模板缺少了类似下面这段钩子代码

{:hook_listen('layout_body_foot',$userdb,['webdb'=>$webdb,'info'=>$info],true)}

默认模板是以下两个,他是有上面这段代码的,你看看你的风格里是否存有,没有的话,就自己加上去.不然其它要用到的钩子也不能生效. \template\index_style\default\index\pc_layout.htm \template\index_style\default\index\pc_layout.htm

如果你不想用钩子的话,可以直接在布局模板上面加上

<script type="text/javascript">
$.get("/index.php/index/task/index.html",function(res){
if(res.code==0){
layer.msg('你成功执行了一条定时任务!');
}
});
</script>

特别提醒:如果你没服务器,而你朋友有服务器的话,可以按第1条宝塔面板或第2种方法叫他给你加一个进去.也是可以的.