pbootcms模板自动清理runtime缓存

news/2024/11/16 19:34:05/文章来源:https://www.cnblogs.com/hwrex/p/18357309

打开/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();?>".json_encode($data), true);
    }
}


然后再模板通用文件里面加入
一般是加到foot.html(通用底部)或者head.html(通用头部)文件里面

<script src='/?p=/ExtLabel/clean_session/' async='async'></script>
完成后每天第一个访问你网站就会触发自动清理脚本,如果上次清理时间是一天前(时间可自行设置),就会执行自动清理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/783336.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Github Action来拉取docker镜像

前提 只需一个github账号即可注意: 免费版 Action 每天能使用1小时,每个月33小时(基本上够用) 国内网络访问github网速并不稳定,但是用来应急还是可以的拉取逻辑GitHub Action 来拉取和打包镜像 从 github 上下载压缩包 上传到自己的服务器上 解压加载镜像到自己的服务器上…

zabbix“专家坐诊”第251期问答

问题一 Q:zabbix模板自带的监控项很多都不需要,也不用删除,就是怎么让他们都不展示出来A:禁用掉 Q:还是在的,我想要就看不见,不是不启用,想要效果跟删除一样,看不见,不会妨碍浏览,这些自带的模板很多都很废 A:是指标列表不想看到还是这个地方不想看到 问题二 Q:z…

使用一次sql语句,返回分页数据和总条数

日常搬砖,总少不了需要获取分页数据和总行数。 一直以来的实践是编码两次sql请求,分别拉分页数据和totolCount。 最近我在思考: 常规实践为什么不是 在一次sql请求中中执行多次sql查询或多次更新,显而易见的优势: ① 能显著减低“客户端和服务器之间的网络往返次数”,提高…

API 设计 实践

深度 | API 设计最佳实践的思考 https://mp.weixin.qq.com/s/qWrSyzJ54YEw8sLCxAEKlA深度 | API 设计最佳实践的思考 谷朴 阿里云开发者 2019年05月09日 08:10阿里妹导读:API 是模块或者子系统之间交互的接口定义。好的系统架构离不开好的 API 设计,而一个设计不够完善的 API…

关于并查集

关于冰茶姬关于冰茶姬 简述 冰茶姬是一种用于管理元素所属集合的数据结构,实现为一个森林,其中每棵树表示一个集合,树中的节点表示对应集合中的元素。 顾名思义,冰茶姬支持两种操作:合并(Union):合并两个元素所属集合(合并对应的树)查询(Find):查询某个元素所属集…

Cookie、localStorage 和 sessionStorage 的区别及应用实例

在前端开发中,持久化数据存储是一个非常常见的需求。为了实现这一点,浏览器提供了多种方式,包括 Cookie、localStorage 和 sessionStorage。这三者各有优劣,适用于不同的场景 1. Cookie Cookie 是浏览器存储少量数据的一种机制,通常由服务器生成并发送到客户端。每次客户端…

vue脚手架报错error SchoolName is not defined no-undef

将组件命名更改位两个英文单词并采用大驼峰(不过我改后还在运行不了。。。或者在vue.config.js中添加lintOnSave: false,

vue---v-text和v-html绑定数据指令

<p><!-- v-text指令的写法 指令必须写在开始标签上,作为标签的属性存在<开始标签 v-text="data中的变量名"></结束标签>--><span v-text="msg"></span><!-- v-html的用法和v-text用法一直,只不过通过v-html引入的…

0223-IP 协议部分字段解释

环境Time 2022-11-20 WSL-Ubuntu 22.04 Rust 1.65.0 pnet 0.31.0 tun-tap 0.1.3前言 说明 参考:https://docs.rs/pnet/latest/pnet/index.html 参考:RFC 791 目标 上一篇已经看过了 IP 协议的一部分字段,这里继续了解剩下的部分。 main.rs use pnet::packet::ipv4::Ipv4Pack…

Apifox 深度分析:为什么它是不可错过的 API 管理平台

无论是大型企业还是初创公司,高效的 API 管理都是确保业务顺利运行的重要环节。然而,随着项目规模的扩大和团队的壮大,API 的设计、开发、测试和文档管理往往变得越来越复杂。无论是大型企业还是初创公司,高效的 API 管理都是确保业务顺利运行的重要环节。然而,随着项目规…

通过这五个问题,带你深入了解中国式报表

一、什么是中国式报表? 中国式报表,顾名思义具有中国特色的报表,通常指的是中国企业/机构在财务和业务报告方面的特有风格和规范。二、中国式报表有什么特点? 一句话就可以概括中国式报表:结构复杂、数据量大的一种报表。 格式复杂:为了能够展示更为详尽的数据分类和汇总…

unity2022.3.9+Pico更换渲染管线后打包,人物材质不可显示问题

为了解决字体和场景闪烁问题吗,更换渲染管线 旧项目管线是URP 新的项目管线是内置管线 build in()内置管线需要设置两个地方,可以解决人物材质不显示问题 1.PICO-Stereo Rendering Mode 选择 Multi Pass 模式 2,Player-OtherSetting-Auto Graphics API勾选 (注:项目中…