runtime缓存自动清理pbotcms模板

runtime缓存自动清理pbotcms模板
打开/apps/home/controller/ExtLabelController.php文件
找到

    // 单个标签的测试扩展
    private function test()
    {
        $this->content = str_replace('{pboot:userip}', get_user_ip(), $this->content);
    }
}
在下面加入

// 自动会话清理脚本
public function clean_session()
{
    check_dir(RUN_PATH . '/archive', true);
    $data = json_decode(trim(substr(file_get_contents(RUN_PATH . '/archive/session_ticket.php'), 15)));
    if($data->expire_time && $data->expire_time < time()){
        ignore_user_abort(true);
        set_time_limit(7200);
        ob_start();
        ob_end_flush();
        flush();
        $rs = path_delete(RUN_PATH . '/session');
        if($rs){
            $data->expire_time = time() + 60 * 60 * 24; // 下一次清理时间
            create_file(RUN_PATH . '/archive/session_ticket.php', "<?php exit();?>".json_encode($data), true);
        }
    } else {
        $data->expire_time = time() - 60 * 60 * 24; // 清洁时间的初始化
        create_file(RUN_PATH . '/archive/session_ticket.php', "<?php exit();?php exit();?>".json_encode($data), true);
    }
}

然后添加到模板通用文件中
一般在foot中加入.html(通用底部)或headad.html(通用头)文件内容

<script src='/?p=/ExtLabel/clean_session/' async='async'></script>
完成后,每天第一次访问您的网站将触发自动清理脚本。如果最后一次清理时间是一天前(时间可以自行设置),则将进行自动清理。