MediaWiki 1.39.2上传文件时出现HTTP 500错误
MediaWiki 1.39.2文件上传HTTP 500错误修复方案
问题本质
你看到的PHP致命错误是核心原因:Wikimedia\ParamValidator\Util\UploadedFile::getStream()方法的声明与Psr\Http\Message\UploadedFileInterface接口要求不兼容——接口规定该方法必须返回Psr\Http\Message\StreamInterface类型,但当前代码实现不符合这个规范。根源在于服务器上安装的psr/http-message组件版本和MediaWiki 1.39.2的依赖版本不匹配。
修复步骤
检查组件版本
进入MediaWiki根目录,执行以下Composer命令查看当前psr/http-message版本:composer show psr/http-messageMediaWiki 1.39.2仅兼容1.0.1至2.0.x以下的版本,若你安装的是2.0及以上版本,就会触发该兼容性错误。
降级到兼容版本
执行以下命令强制安装符合要求的组件版本:composer require psr/http-message:^1.0.1Composer会自动处理版本降级,替换掉不兼容的组件文件。
验证修复效果
操作完成后再次尝试文件上传,同时检查PHP错误日志,确认该致命错误不再出现,上传功能恢复正常。
补充注意事项
- 操作前建议备份MediaWiki的
vendor目录和composer.lock文件,防止意外问题出现时无法回滚。 - 如果服务器未安装Composer,先执行以下命令安装:
sudo apt update && sudo apt install composer
内容的提问来源于stack exchange,提问作者Luca
相关产品推荐
相关产品推荐

