![mediawiki 无法上传文件,但没有错误](https://linux22.com/image/626838/mediawiki%20%E6%97%A0%E6%B3%95%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BD%86%E6%B2%A1%E6%9C%89%E9%94%99%E8%AF%AF.png)
我有一台 64 位 CentOS 6.4 服务器,运行 Apache 2 和 MediaWiki 1.21.2(从另一台服务器的 1.19 安装升级,但那里不存在问题)。
问题是用户无法将新文件上传到服务器,而且我没有收到任何错误消息,无论是来自 apache 还是来自 php。当我使用上传表单时,它只会刷新页面。
LocalSettings.php 已启用上传:
$wgEnableUploads = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "/usr/bin/convert";
php.ini 已打开上传功能以及错误消息功能:
file_uploads = On
upload_max_filesize = 20M
post_max_size = 20M
error_reporting = E_ALL & ~E_DEPRECATED
display_errors = On
display_startup_errors = On
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
track_errors = On
html_errors = On
selinux 已禁用(服务器不面向公众)
整个 mediawiki 目录归 apache 用户所有,images 目录的 chmod 为 777,/tmp 目录的 chmod 也为 777。
我不知道现在还能尝试什么。如果有人对此有想法,我将不胜感激。即使只是一种输出错误的方法也很好。
答案1
我终于搞明白了(我觉得自己真是个傻瓜,没早点发现)。LocalSettings.php 中的 $wgServer 设置有一个拼写错误,它使用了服务器名称而不是基本 URL。
正如我之前提到的,wiki 已从另一台服务器移出。在测试新服务器时,我更改了名称,以便能够访问网站,而无需对当前设置进行干扰,但不幸的是,当 wiki 最终移动并更新 DNS 时,我忘记将其更新为真实 URL。
TL;DR,上传被重定向到遗忘状态。它们从未到达服务器进行处理,因此没有日志消息。
我要说的是,服务器名称和 URL 只差两个字符。这让我在迁移文档方面更加全面。