MediaWiki 未显示样式——“内部错误”

MediaWiki 未显示样式——“内部错误”

我刚刚将 MediaWiki 安装从版本 1.25.x 升级到 1.26.1,但现在样式信息未显示。因此,页面显示所有文本,左侧没有链接列。当我查看页面源代码并单击应该加载样式的链接时,似乎有一些 CSS,但文件开头如下:

/* 内部错误

内部错误

有问题的模块:{“mediawiki.sectionAnchor”:“error”,“skins.vector.styles”:“error”} */

当我单击页面源代码中的脚本链接(大概是默认脚本)时,它会显示类似的消息(但没有太多实际代码):

/* 内部错误

内部错误

有问题的模块:{“startup”:“error”} */

通过在线搜索,我发现了以下两个页面,截至撰写本文时还没有任何解决方案:

https://www.mediawiki.org/wiki/Topic:Sty0r6j0y9u8yute

https://www.mediawiki.org/wiki/Topic:Stvdbhcbttk5aa9d

如果重要的话,我正在使用的安装是在 HTTPS 上。$wgServer 设置相应地设置为$wgServer = "//www.some-domain.com";。图像加载正常,浏览器调试器的网络选项卡上没有 404 或其他此类 HTTP 错误。服务器运行的是 PHP 版本 5.6.16。

我的问题是:

(1)有没有其他人遇到过这个问题并找到了解决办法除了降级 PHP

(2)有人知道吗升级新的 PHP 7.x 系列可以解决这个问题吗?(同一台服务器上有一些大型 WordPress 安装,所以我还不敢尝试安装新的 PHP)

更新 1:虽然我不知道根本问题是什么,但显然问题是默认问题向量皮肤。我改变了$wgDefaultSkin设置(在本地设置.php) 从向量单行本,现在 wiki 可以正常显示了。

更新 2:根据评论中的要求,我尝试下载向量直接从 GitHub 下载皮肤。我下载了最新的 master 分支(截至 2015-12-18)。不幸的是,它没有任何区别。删除旧文件并复制新(或相同?)文件并将设置改回向量,问题又回来了。

更新 3:为了完整起见,我尝试安装wmf/1.27.0-wmf.9的分支向量,但并没有什么效果。我甚至尝试重启 Web 服务器以确保这不是缓存问题。

更新 4:我尝试清除服务器范围的 PHP 缓存,但没有什么效果。然后我尝试启用资源加载器调试选项。虽然此选项无法解决加载问题,但我认为它会为实际调试皮肤的人提供更好的详细信息。启用此选项后,页面源代码会显示 5 个单独的样式表条目,其中只有两个条目会获得内部错误。仍然只有一个脚本条目,并且仍然会出现错误。

答案1

在按照 Froggiz 的建议启用了完整的 MediaWiki 调试后,我发现了这个案例中的几个具体问题,其中一个是导致向量加载失败,问题及解决方法如下:

(1)$wgCache目录被注释掉了本地设置.php. 虽然单行本皮肤似乎并不关心这种情况,Less.php在没有缓存文件夹可写的情况下获得异常;显然这个模块对于向量皮肤。我最终将缓存设置如下:

$wgCacheDirectory = "$IP/cache"; // 确保该文件夹可写;

(2)虽然这不是主要问题的原因,但需要的文件显然未包含在标准 MediaWiki 版本 1.26.1 包中。事实上,缺少的是一份文件的副本:en-gb.json。必须创建此文件并将其放置在以下位置:

/资源/lib/oojs-ui/i18n

/皮肤/CologneBlue/i18n

/皮肤/现代/i18n

/皮肤/矢量/i18n

尽管评论本地设置.php为了语言代码说从中选择语言代码./languages/Names.php,语言代码必须在国际化皮肤文件夹。

答案2

我遇到了同样的问题,但您的修复不起作用。我将 MediaWiki 1.27 从本地迁移到了开发服务器。

我将其添加到 LocalSettings.php $wgResourceLoaderDebug=true;

然后控制台告诉我运行 update.php。我按照以下链接操作。现在 Vector 皮肤可以正常工作了。

https://www.mediawiki.org/wiki/Manual:Upgrading#Web_browser

相关内容