海洋 CMS 模板缓存如何清理
海洋 CMS(SeaCMS)清理模板缓存的正确做法是:**优先用后台自带的「更新缓存/清除缓存」入口,其次用 FTP 或宝塔文件管理器删除 cache 目录下的缓存文件(保留目录本身),最后处理 PHP OPcache 和 CDN 这两层服务器级缓存**。三步做完,模板改动基本立刻生效。
海洋 CMS 后台怎么一键清理缓存?
结论:后台自带清缓存入口,这是最安全的方式,因为它会同时刷新模板编译缓存和栏目、配置类缓存。
登录后台管理员账号后,在顶部或左侧的「系统」类菜单里找「更新缓存」「清除缓存」或「系统缓存」按钮,点一次即可。部分版本会把它放在后台首页右上角,做成一个循环箭头图标。
点完后刷新前台页面验证。如果模板改动生效,说明问题就出在模板编译缓存上;如果没生效,继续往下走第二步和第三步。
手动删除缓存文件要删哪个目录、怎么删?
结论:站点根目录下的 cache 目录存放模板编译缓存和静态页缓存,data/cache 存放配置与栏目数据缓存;删除其中的文件即可,目录本身必须保留。
操作步骤:
- 用宝塔面板文件管理器或 FTP 进入网站根目录。
- 确认存在
cache目录,进入后把里面的文件全部删除。命令行等价操作是rm -rf cache/*,或更稳妥的find cache -type f -delete(只删文件不删子目录结构)。 - 如果存在
data/cache,同样清空其中的文件。 - 检查这两个目录的权限,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% 以上的「改了模板没反应」问题。
原文链接:https://www.gj0.com/thread-664.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。