Mediawiki(Plesk环境)文件上传功能失效,求排查方向
MediaWiki在Plesk环境下文件上传异常排查补充方案
一、MediaWiki核心配置验证
- 检查
LocalSettings.php中的$wgEnableUploads是否设为true,后台设置可能被配置文件覆盖,直接确认代码更可靠。 - 核对
$wgUploadDirectory和$wgUploadPath路径:$wgUploadDirectory需指向服务器上/images文件夹的绝对路径,例如$wgUploadDirectory = "/var/www/vhosts/your-domain.com/images";$wgUploadPath需对应前端访问路径,例如$wgUploadPath = "/images";
- 确认图片处理工具配置:检查
$wgUseImageMagick是否为true,且$wgImageMagickConvertCommand指向正确的ImageMagick路径(Plesk中通常为/usr/bin/convert),缺失配置可能导致文件无法被识别,进而不显示列表。
二、Plesk环境专属检查
- 验证PHP临时目录配置:在Plesk域名的PHP设置中,确认
upload_tmp_dir指向/tmp,且该目录对MediaWiki运行用户有写入权限。若临时目录权限不足或路径错误,会直接阻断上传流程。 - 排查ModSecurity规则:临时关闭Plesk中的ModSecurity,测试上传功能是否恢复。若恢复正常,需在规则中添加文件上传的例外项,避免拦截合法请求。
- 修正文件系统所有者:除了755权限,需确保/images和/tmp文件夹的所有者为MediaWiki安装时创建的运行用户。可通过Plesk文件管理器修改所有者,或执行命令:
chown -R mediawiki-run-user:mediawiki-run-user /path/to/images chown -R mediawiki-run-user:mediawiki-run-user /path/to/tmp - 检查PHP上传限制:确认
post_max_size和upload_max_filesize的值足够大(例如至少2M以上),过小的限制可能导致上传模块初始化失败,隐藏上传链接。
三、文件列表不显示的额外排查
- 重建文件索引:手动上传到/images的文件,需运行MediaWiki维护脚本更新索引:
php maintenance/update.php - 清空缓存:在MediaWiki后台的
Special:Purge页面清空页面缓存,或直接删除服务器上的MediaWiki缓存目录(默认位于/cache),缓存过期可能导致列表显示异常。 - 查看错误日志:在Plesk的
Websites & Domains > 你的域名 > Logs中查看Web服务器错误日志,同时检查PHP错误日志,里面会记录具体的报错信息(如权限不足、函数禁用、路径错误等),是定位问题的关键。
四、账户权限调整建议
必须确保MediaWiki运行用户对/images、/tmp目录拥有写入权限:
- 除了设置文件夹权限为755,需确认文件夹所有者为该运行用户(而非root或其他用户)。
- 若Plesk使用PHP-FPM模式,需确保运行用户属于正确的用户组(如www-data),避免组权限不足导致的写入失败。
内容的提问来源于stack exchange,提问作者Philip Lafeber
相关产品推荐
相关产品推荐

