wordpress上传大文件时出现:从服务器收到预料之外的响应。此文件可能已被成功上传。请检查媒体库或刷新本页。
这个问题通常是由于服务器配置限制或 WordPress 上传机制导致的。以下是针对 Windows Server 2012 R2 + WordPress 的完整解决方案:
一、核心原因分析
- PHP 配置不足(上传大小/执行时间)
- IIS 请求限制(默认最大 30MB)
- WordPress 超时中断(未返回完整响应)
二、具体解决步骤
1. 修改 PHP 配置(php.ini)
找到 PHP 安装目录下的 php.ini 文件:
upload_max_filesize = 1024M
post_max_size = 1100M
max_execution_time = 600
max_input_time = 600
memory_limit = 256M
2. 调整 IIS 设置
通过 IIS 管理器操作:
- 选择站点 → 请求筛选 → 编辑功能设置
- 修改
最大允许内容长度为1200000000(约 1.14GB)

- 重启 IIS:
iisreset /restart
3. 修改 WordPress 配置
在网站根目录的 wp-config.php 文件末尾添加:
define('WP_MEMORY_LIMIT', '256M');
@ini_set('upload_max_size','1024M');
@ini_set('post_max_size','1100M');
@ini_set('max_execution_time','600');
4. 启用分块上传(关键)
通过 FTP 安装插件:
- 插件名称:Upload Large Files
- 或修改
.htaccess(如果使用 Apache,但 IIS 需转换规则)
三、验证是否生效
- 创建
info.php文件测试配置:
<?php phpinfo(); ?>
- 访问后检查
Core Values中的upload_max_filesize和post_max_size - 上传测试文件时:
- 使用 Chrome 开发者工具(F12) → Network 标签
- 观察上传请求是否返回
HTTP 413错误
四、替代方案(如仍失败)
- 通过 FTP 手动上传:
- 将文件传到
/wp-content/uploads/对应日期目录 - 在 WordPress 媒体库点击「从服务器添加」
- 将文件传到
- 使用插件绕过限制:
- FileBird:支持本地文件导入媒体库
- Media Sync:扫描服务器文件并关联
五、注意事项
- 如果使用 Nginx 反向代理,需额外修改:
client_max_body_size 1024m;
proxy_read_timeout 600;
- 大文件上传建议:
- 避开高峰期
- 使用有线网络(非 WiFi)
- 压缩文件为 ZIP 后上传
如果按照以上步骤操作后仍出现错误,请检查 Windows 事件查看器中的 应用程序日志,定位具体超时或拒绝请求的模块。