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

MediaWiki升级PHP8.1后访问特殊页面报$title参数错误

问题记录

在MediaWiki 1.37环境安装v1.38版本Google Login扩展时,首次触发解析错误:

ParseError: syntax error, unexpected 'static' (T_STATIC)

将PHP版本升级至8.1后,登录页场景的上述解析错误已解决,但访问特殊页面列表页(访问路径/index.php/Sp%C3%A9cial:Pages_sp%C3%A9ciales)时触发新异常,完整报错与调用栈如下:

/index.php/Sp%C3%A9cial:Pages_sp%C3%A9ciales Wikimedia\Assert\ParameterAssertionException: Bad value for parameter $title: should not be empty unless namespace is main

Backtrace:

from /disk2/wikiwetag/public_html/vendor/wikimedia/assert/src/Assert.php(72)
#0 /disk2/wikiwetag/public_html/includes/title/TitleValue.php(210): Wikimedia\Assert\Assert::parameter(boolean, string, string)
#1 /disk2/wikiwetag/public_html/includes/title/TitleValue.php(164): TitleValue::assertValidSpec(integer, string, string, string)
#2 /disk2/wikiwetag/public_html/includes/specialpage/SpecialPage.php(126): TitleValue->__construct(integer, string, string)
#3 /disk2/wikiwetag/public_html/includes/specialpage/SpecialPage.php(109): SpecialPage::getTitleValueFor(string, boolean, string)
#4 /disk2/wikiwetag/public_html/includes/specialpage/SpecialPage.php(745): SpecialPage::getTitleFor(string, boolean)
#5 /disk2/wikiwetag/public_html/includes/specials/SpecialSpecialpages.php(69): SpecialPage->getPageTitle()
#6 /disk2/wikiwetag/public_html/includes/specials/SpecialSpecialpages.php(42): SpecialSpecialpages->getPageGroups()
#7 /disk2/wikiwetag/public_html/includes/specialpage/SpecialPage.php(647): SpecialSpecialpages->execute(NULL)
#8 /disk2/wikiwetag/public_html/includes/specialpage/SpecialPageFactory.php(1366): SpecialPage->run(NULL)
#9 /disk2/wikiwetag/public_html/includes/MediaWiki.php(314): MediaWiki\SpecialPage\SpecialPageFactory->executePath(string, RequestContext)
#10 /disk2/wikiwetag/public_html/includes/MediaWiki.php(930): MediaWiki->performRequest()
#11 /disk2/wikiwetag/public_html/includes/MediaWiki.php(564): MediaWiki->main()
#12 /disk2/wikiwetag/public_html/index.php(55): MediaWiki->run()
#13 /disk2/wikiwetag/public_html/index.php(48): wfIndexMain()
#14 {main}
根因分析
  • 首个T_STATIC解析错误由PHP版本过低导致:v1.38版Google Login扩展使用了PHP 8.0及以上版本才支持的静态语法特性,低版本PHP无法解析对应代码,升级PHP到8.1的操作可以解决该问题。
  • 第二个特殊页面报错由扩展与MediaWiki核心版本不匹配导致:Google Login v1.38是为MediaWiki 1.38核心适配的版本,在1.37核心下运行时,扩展注册特殊页面传入的空标题参数不符合1.37版本TitleValue类的校验规则——1.37版本强制要求非主命名空间下的页面标题不得为空,最终触发参数断言异常。
修复方案
  • 优先方案:将MediaWiki核心升级至1.38版本,与已安装的Google Login扩展版本完全对齐,升级后所有版本兼容类问题会自动消除。
  • 替代方案:若暂时无法升级MediaWiki核心,卸载当前v1.38版本的Google Login扩展,更换为适配MediaWiki 1.37的对应历史版本即可,禁止跨大版本匹配MediaWiki核心与扩展。
  • 验证方法:临时禁用Google Login扩展后刷新特殊页面列表,若页面恢复正常访问,即可确认异常由该扩展版本不匹配导致。

内容的提问来源于stack exchange,提问作者Tarek Fellah

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 21:24:20