MediaWiki升级后Vector皮肤失效,ResourceLoaderFileModule类缺失求助
解决MediaWiki 1.42.1 Vector皮肤失效及ResourceLoaderFileModule找不到问题
1. 排查核心文件完整性
从1.26跨版本升级到1.42.1,极易出现核心文件缺失或覆盖不完整的情况:
- 重新下载MediaWiki 1.42.1完整安装包,解压后保留
LocalSettings.php、images目录、extensions目录,将其余所有文件和文件夹覆盖到服务器的MediaWiki根目录(注意IIS文件权限,避免只读文件阻碍覆盖)。 - 确认
includes/resourceloader目录下存在ResourceLoaderFileModule.php文件,若缺失则说明核心文件未完整覆盖。
2. 修正Vector皮肤配置
MediaWiki 1.39+版本的Vector皮肤已整合到核心组件,无需单独下载第三方皮肤包:
- 删除你之前放入
skins目录的独立Vector皮肤文件夹,避免版本冲突。 - 打开
LocalSettings.php,确认皮肤配置为:$wgDefaultSkin = 'vector'; // 若需启用旧版Vector(非默认的2022版),可添加: // $wgVectorDefaultSkinVersion = 'legacy';
3. 修复PHP自动加载缓存
Class "ResourceLoaderFileModule" not found报错大多由自动加载缓存异常导致:
- 删除MediaWiki根目录下
cache文件夹内的所有内容(若无cache文件夹,手动创建并赋予IIS_IUSRS用户读写权限)。 - 运行升级维护脚本:打开命令提示符,切换到MediaWiki根目录,执行
php maintenance/update.php(需确保PHP已配置系统环境变量)。 - 重建本地化缓存:执行
php maintenance/rebuildLocalisationCache.php --force。
4. 检查IIS的MIME类型配置
控制台的MIME类型错误是因为load.php返回了HTML错误页而非JS文件,解决类找不到问题后,确认IIS配置:
- 打开IIS管理器,选中你的MediaWiki站点,双击"MIME类型"。
- 确保存在以下配置:
.php:application/x-httpd-php.js:application/javascript
- 若之前为旧版本MediaWiki添加过特殊MIME规则,可先重置为默认再重新配置。
5. 验证文件权限
Windows Server下IIS应用池身份需拥有足够权限:
- 右键MediaWiki根目录,选择"属性"→"安全"标签。
- 添加
IIS_IUSRS用户,赋予读取和写入权限(包含子文件夹与文件)。 - 确认
cache、images、temp目录的写入权限正常。
内容的提问来源于stack exchange,提问作者VN20
相关产品推荐
相关产品推荐

