安装H5P模块后出现WSOD及残留异常,求助解决方法
解决H5P模块残留导致的Drupal站点问题
你遇到的这些问题核心都是H5P模块卸载后残留的配置、数据、路由信息没清理干净,确实需要从数据库入手彻底解决,下面是一步步的实操方案(操作前一定要先备份数据库,避免数据丢失):
1. 清理数据库中H5P的所有残留信息
登录你的数据库管理工具(比如phpMyAdmin),执行以下SQL语句:
- 删除H5P专属的数据表:
DROP TABLE IF EXISTS h5p_content, h5p_content_user_data, h5p_libraries, h5p_libraries_libraries, h5p_settings, h5p_events; - 删除系统表中H5P模块的记录:
DELETE FROM system WHERE name = 'h5p'; - 删除后台菜单中残留的H5P路由入口:
DELETE FROM menu_router WHERE path LIKE '%h5p%'; - 删除H5P相关的权限配置:
DELETE FROM role_permission WHERE module = 'h5p';
2. 手动清理站点缓存(后台无法操作时的替代方案)
因为后台清缓存失效,直接操作服务器文件:
- 找到站点目录下的
sites/default/files/,清空cache和php文件夹下的所有文件(注意不要删除.htaccess和index.html这两个文件) - 如果你的服务器安装了Drush工具,也可以直接执行命令:
drush cr
3. 处理Module Missing Fixer模块的异常
这个模块本身是用来修复缺失模块残留问题的,它没有额外的配置页面,所以点击configure跳转到admin/config/system是正常的。如果它启用时还报错,建议先禁用再重新启用,或者直接卸载——等H5P的残留清理干净后,这个模块可能就不需要了。
4. 修复面板页面保存后404的问题
这大概率是菜单缓存没更新导致的,你可以:
- 执行SQL语句清空菜单缓存表:
TRUNCATE TABLE cache_menu; - 如果用Drush的话,执行:
drush cc menu - 之后重新访问面板页面的URL,或者重新保存一次面板配置,应该就能正常访问了。
内容的提问来源于stack exchange,提问作者Nathan
相关产品推荐
相关产品推荐

