要在 PbootCMS 中实现自动清理 runtime 缓存,可以通过以下步骤进行操作:
步骤 1: 修改 ExtLabelController.php
文件
-
打开文件
- 打开文件:
\apps\home\controller\ExtLabelController.php
- 打开文件:
-
找到
test()
方法- 找到以下代码:
// 测试扩展单个标签 private function test() { $this->content = str_replace('{pboot:userip}', get_user_ip(), $this->content); }
- 找到以下代码:
-
添加
clean_session()
方法- 在
test()
方法下方添加clean_session()
方法:// 自动会话清理脚本 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); // 设置超时时间为 2 小时 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); } }
- 在
步骤 2: 在模板文件中加入触发脚本
-
找到通用模板文件
- 通常是在
foot.html
(通用底部)或head.html
(通用头部)文件中加入触发脚本。
- 通常是在
-
添加触发脚本
- 在模板文件中加入以下代码:
// 自动会话清理脚本 public function clean_session() { check_dir(RUN_PATH .
- 在模板文件中加入以下代码: