Drupal 7模块升级遇PHP版本问题及类文件找不到等故障求助
Drupal 7 模块升级PHP版本过高导致的报错修复方案
问题根源
模块升级时将最低PHP版本设置为7.4.32,但当前环境仅为7.4.3,导致hook_update执行失败,进而引发系统注册表未正确生成、缓存清理失败、类文件找不到等连锁问题。
修复步骤
1. 降低模块的PHP版本限制
- 找到目标模块的
.info文件(如common.info),修改其中的php字段值,使其低于或等于当前环境的PHP版本:php = "7.4.3" - 若版本限制是通过自定义模块的
hook_requirements实现,找到对应代码,暂时注释版本检测逻辑或调整阈值。
2. 手动清理缓存
- 删除站点目录下
sites/default/files/cache内的所有文件(保留.htaccess和目录本身)。 - 登录数据库,执行SQL清空缓存表:
或仅清除系统列表缓存(针对性更强):TRUNCATE TABLE cache; TRUNCATE TABLE cache_bootstrap; TRUNCATE TABLE cache_menu; TRUNCATE TABLE cache_page;DELETE FROM cache_bootstrap WHERE cid = 'system_list';
3. 重新执行更新并重建注册表
- 在
settings.php中临时开启更新页面访问权限:$update_free_access = TRUE; - 访问站点的更新页面
/update.php,按照页面提示重新执行更新操作。完成后,将$update_free_access改回FALSE。
4. 验证修复结果
- 执行Drush命令检查系统状态:
drush status - 尝试清理所有缓存:
drush cc all - 访问网站前台与后台,确认功能正常无类缺失报错。
内容的提问来源于stack exchange,提问作者jgreep
相关产品推荐
相关产品推荐

