如何配置定时任务
定时任务必须要配置好,才能正常工作的,有以下3种方法,你可以选择其中一种.
第1种,对于使用了宝塔环境的,比较简单,登录宝塔控制面板.如下图设置即可 注意换成你的域名 执行周期也可以你可以设置1分钟,也可以设置为2分钟。 提示:任何宝塔面板都可以设置,不一定是当前服务器的宝塔面板
https://x1.php168.com/index.php/index/task/index.html**第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.php2.再到D盘根目录创建一个task.php文件,里边输入如下内容,其中第二行是做个日志,可以删除掉的
<?phpfile_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.进入控制面板,再进入管理工具,如下图,有三项是需要配置的.



最后他还会提示你输入管理员的登录密码才能生效的.以后管理员密码改了,也需要重新设置才行. 每一项都按图片的标注设计即可.其它就默认的. 执行时间间隔最好就10分钟吧.
**第3种,**对于没有服务器的情况,你就只能配置钩子文件,让网页随用户的访问来刷新定时任务.如果你的网站一天都没人访问的话,那么定时任务可能就会一直不执行.所以有服务器的话,最好不要选择这种.会非常被动.需要有用户访问才会刷新生效。所以起不到真正定时任务的作用。
启用钩子后,请确认你的网站前台所有页面都包含有下面这段代码
<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种方法叫他给你加一个进去.也是可以的.
