You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MediaWiki 1.38启用.git后无法加载皮肤,抛出未捕获异常

解决MediaWiki 1.38升级后MinervaNeue皮肤文件找不到的500错误
  • 验证皮肤目录的实际路径
    报错里的/skins/MinervaNeue/是服务器根目录下的绝对路径,但你的MediaWiki大概率部署在虚拟主机的子目录(比如/public_html/wiki/skins/MinervaNeue/)。可以在LocalSettings.php中临时添加代码确认当前工作路径:

    echo "当前工作目录:" . getcwd();
    

    访问网站查看输出后,修正皮肤相关配置的路径,优先使用基于LocalSettings.php所在目录的绝对路径,比如:

    $wgSkinDirectory['MinervaNeue'] = __DIR__ . '/skins/MinervaNeue';
    
  • 检查Git子模块完整性
    因你使用Git升级,MinervaNeue可能是Git子模块。若虚拟主机支持SSH,进入MediaWiki根目录执行:

    git submodule status
    

    若显示子模块未初始化/未更新,运行:

    git submodule update --init --recursive skins/MinervaNeue
    

    无SSH权限的话,手动下载对应MediaWiki 1.38版本的MinervaNeue皮肤包,覆盖现有目录,确保skin.json等文件完整。

  • 调整PHP的open_basedir限制(若允许)
    部分虚拟主机限制了PHP的目录访问范围,导致无法读取皮肤目录。若能修改php.ini或.htaccess,添加MediaWiki根目录到open_basedir:
    php.ini写法:

    open_basedir = /实际/mediawiki路径:/tmp
    

    .htaccess写法:

    php_value open_basedir "/实际/mediawiki路径:/tmp"
    
  • 修正LocalSettings.php的皮肤配置
    升级后配置可能失效,打开LocalSettings.php确认皮肤加载代码正确:

    $wgDefaultSkin = 'minerva';
    wfLoadSkin( 'MinervaNeue' );
    

    移除手动指定的错误绝对路径配置,改用__DIR__确保路径准确性。

  • 细化文件权限设置
    尽管已设置755/774,虚拟主机的PHP运行用户可能与文件所有者不一致。尝试调整:

    • 皮肤目录权限设为755(保证PHP可进入目录)
    • skin.json等文件权限设为644(满足PHP读取需求,避免过松权限被拦截)
      同时确认skin.json确实存在,未被FTP工具遗漏上传。

内容的提问来源于stack exchange,提问作者M Noivad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 20:48:19