海洋 CMS 模板缓存如何清理

liulian
liulian 正式会员超兽战士
发布于 2026-10-08 01:19 ·1 浏览 ·0 回复

海洋 CMS(SeaCMS)清理模板缓存的正确做法是:**优先用后台自带的「更新缓存/清除缓存」入口,其次用 FTP 或宝塔文件管理器删除 cache 目录下的缓存文件(保留目录本身),最后处理 PHP OPcache 和 CDN 这两层服务器级缓存**。三步做完,模板改动基本立刻生效。

海洋 CMS 后台怎么一键清理缓存?

结论:后台自带清缓存入口,这是最安全的方式,因为它会同时刷新模板编译缓存和栏目、配置类缓存。

登录后台管理员账号后,在顶部或左侧的「系统」类菜单里找「更新缓存」「清除缓存」或「系统缓存」按钮,点一次即可。部分版本会把它放在后台首页右上角,做成一个循环箭头图标。

点完后刷新前台页面验证。如果模板改动生效,说明问题就出在模板编译缓存上;如果没生效,继续往下走第二步和第三步。

手动删除缓存文件要删哪个目录、怎么删?

结论:站点根目录下的 cache 目录存放模板编译缓存和静态页缓存,data/cache 存放配置与栏目数据缓存;删除其中的文件即可,目录本身必须保留。

操作步骤:

  1. 用宝塔面板文件管理器或 FTP 进入网站根目录。
  2. 确认存在 cache 目录,进入后把里面的文件全部删除。命令行等价操作是 rm -rf cache/*,或更稳妥的 find cache -type f -delete(只删文件不删子目录结构)。
  3. 如果存在 data/cache,同样清空其中的文件。
  4. 检查这两个目录的权限,Web 运行用户需要对它们有写权限,一般是 755,某些服务器环境需要 777。权限不对会导致缓存无法重建,前台直接报错。

需要特别说明:只删缓存目录,绝对不要动 templets 目录。templets 里是模板源文件(HTML 加标签代码),删掉等于把模板本身删了,缓存可以自动重建,模板源文件不能。

为什么后台清了缓存,模板修改还是不生效?

结论:最常见的原因是 PHP OPcache 没刷新,其次是 CDN 或浏览器缓存,跟海洋 CMS 本身无关。

PHP 5.5 以后默认可能开启 OPcache,它把编译后的 PHP 文件缓存在内存里,默认 opcache.revalidate_freq 是 2 秒,但生产环境常被调成 60 秒甚至更长。此时磁盘上的文件删了,内存里的旧副本还在。

处理方式二选一:

  • 重启 PHP:宝塔面板「软件商店」里对 PHP 服务点重启;命令行执行 systemctl restart php-fpm(版本号视环境而定)。
  • 只清 OPcache:写一个临时 PHP 文件,内容为 <?php opcache_reset();,浏览器访问一次后删除该文件。

另外两层:如果站点接了 CDN,需要在 CDN 控制台做 URL 刷新或目录刷新;浏览器端用 Ctrl+F5 强制刷新,或开无痕窗口验证。

清理缓存有哪些坑要避开?

结论:清缓存本身零风险,风险都在误删和权限上。

三个注意点:一是别用「删除 cache 整个目录」代替「清空 cache 目录内容」,少了目录站点会报错,需要手动重建并授权;二是清缓存瞬间并发访问量大时,缓存重建会集中写盘,流量高的站建议先关站或选低峰期操作;三是模板改动频繁的站,与其反复手删,不如把后台的更新缓存入口用顺手,它比手删更精准。

总结一下流程:后台点一次「更新缓存」→ 仍不生效就清空 cache 和 data/cache 目录内文件 → 重启 PHP 或 opcache_reset() → 刷新 CDN 和浏览器。四步顺序别颠倒,能覆盖 95% 以上的「改了模板没反应」问题。

版权声明:本文来自 GJ站长论坛《海洋 CMS 模板缓存如何清理》
原文链接:https://www.gj0.com/thread-664.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~