先确认你遇到的是缓存失效类还是缓存不更新类问题:
90%的缓存问题都源于此,苹果CMS必须对/runtime及其所有子目录有读写权限:
Windows服务器:右键点击站点根目录下的runtime文件夹→属性→安全→编辑→添加→输入Everyone→检查名称→确定→勾选“完全控制”→确定→确定→应用→关闭
Linux服务器:
打开苹果CMS后台→系统→网站参数配置→缓存选项,确保以下选项正确:
部分站长会因移动站点根目录或误删目录导致缓存失效:
检查站点根目录下是否存在完整的runtime文件夹结构: ```text maccms/ ├── runtime/ │ ├── cache/ 前台页面缓存 │ ├── data/ 数据缓存(配置、分类、专题等) │ ├── logs/ 运行日志 │ ├── temp/ 临时文件 │ └── views/ 编译后的模板文件 ```
如果缺少子目录,手动在runtime文件夹下新建以上空文件夹,再重复2.1的权限设置
只有基础前提排查没问题,且你明确配置了第三方缓存才进行此步骤:
打开后台→系统→网站参数配置→缓存选项→缓存方式选对应的第三方:

保存配置后点击左侧菜单“缓存管理”→“清除所有缓存”,看是否有错误提示
如果移动过站点根目录,配置文件里的绝对路径可能没更新:
打开站点根目录/application/database.php,找到以下代码块: ```php // 缓存配置 'cache' => [ // 默认缓存驱动 'type' => 'File', // 缓存保存目录 'path' => '', // 缓存前缀 'prefix' => 'maccms_', // 缓存有效期 0表示永久缓存 'expire' => 0, // 缓存标签前缀 'tag_prefix' => 'tag_', // 序列化机制 例如 ['serialize', 'unserialize'] 'serialize' => [], ], ```
确保'path'参数为空字符串,留空会自动读取runtime/cache目录;如果填了旧的绝对路径,直接改成空即可
宝塔面板虽然设置了777权限,但如果站点运行用户(默认是www)不是runtime目录的所有者,可能还是无法读写:
SSH远程操作,替换/your/wwwroot/maccms为实际路径: ```bash chown -R www:www /your/wwwroot/maccms/runtime ```
宝塔面板也可以操作:文件→找到站点根目录/runtime→右键→所有者→选择www→勾选“应用到子目录”→确定
如果核心缓存文件损坏,覆盖可解决:
下载同版本的苹果CMS完整安装包(官方下载地址:https://www.maccms.la/),解压后找到以下文件/文件夹,上传覆盖到你的站点对应位置(覆盖前建议备份原有文件): ```text 覆盖文件/文件夹列表: maccms/application/common.php maccms/application/extra/cache.php maccms/thinkphp/library/think/Cache.php maccms/thinkphp/library/think/cache/driver/File.php ```
覆盖后重复2.1的权限设置,再清除所有缓存
完成以上所有排查修复后,验证缓存是否正常:
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图