首先明白一点,thinkphp 中的计划任务不是真正意义上的,它是使用一个文件的修改时间差来比较是否执行,并且必须依赖网站的访问才能触发脚本
在 conf 下新建两个文件并配置 tags.php 和 crons.php
配置 tag.php
return array(
'app_end'=>array('\Behavior\CronRun'), // 定时任务
);
配置 crons.php
return array(
'cron_1'=>array('cron1', '10') //cron1要执行的脚本
)
cron1 默认在 ThinkPHP\Library\Cron\cron1.php
如果没有 cron 目录则新建一个,cron1.php 自己所要执行的脚本
注意:
- app_end 的路径配置,
\Behavior\CronRun
路径要包含\
否则不被认为是 Behavior - 如果报错 Log::write 相关错误,则打开
ThinkPHP\Library\Behavior\CronRunBehavior.class.php
大约 55 行\Think\Log::write(implode('',$log));