PrestaShop 1.7恢复缓存后报Cache类未找到错误求助
PrestaShop 1.7 类缺失报错修复步骤
1. 恢复核心缺失类文件classes/Cache.php
- 先确认当前站点运行的PrestaShop 1.7精确小版本号(可通过根目录
app/AppKernel.php内的版本常量确认),获取同版本的官方核心安装源包,从压缩包中提取原路径下的classes/Cache.php,原封不动上传到站点的/prestashop/classes/目录。 - 调整该文件权限与同目录下其他PHP文件保持一致(通常为
644),对应classes/目录权限设为755。
2. 重建自动加载索引文件cache/class_index.php
该文件为系统自动生成的类加载映射表,无需手动新建空文件,按以下流程触发重建即可:
- 清空现有
cache/目录内所有文件,仅保留目录内用于禁止列目录的index.php保护文件,避免旧缓存残留干扰。 - 若服务器支持CLI,直接在站点根目录执行命令:
执行完成后会自动生成符合要求的php bin/console prestashop:classloader:dumpclass_index.php。 - 若无法使用CLI,可在站点根目录新建临时文件
rebuild_index.php,写入以下内容后通过浏览器访问该文件:
访问完成后立刻删除该临时文件,即可完成索引重建。<?php require_once __DIR__.'/config/bootstrap.php'; \Tools::generateIndex();
3. 额外排查操作
- 若完成上述步骤仍报错,需检查
/prestashop/classes/ObjectModel.php第2000行附近代码,确认之前的删除操作未对该核心文件造成损坏,若有损坏直接用同版本核心包内的对应文件替换。 - 确认
cache/目录对Web运行用户有可写权限(通常为755或775,禁止设置为777),避免后续缓存生成失败。
内容的提问来源于stack exchange,提问作者innocenceesstt
相关产品推荐
相关产品推荐

