wordpress从服务器收到预料之外的响应。此文件可能已被成功上传。请检查媒体库或刷新本页。

wordpress上传大文件时出现:从服务器收到预料之外的响应。此文件可能已被成功上传。请检查媒体库或刷新本页。

这个问题通常是由于服务器配置限制或 WordPress 上传机制导致的。以下是针对 Windows Server 2012 R2 + WordPress 的完整解决方案:

一、核心原因分析

  1. PHP 配置不足‌(上传大小/执行时间)
  2. IIS 请求限制‌(默认最大 30MB)
  3. 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 管理器‌操作:

  1. 选择站点 → ‌请求筛选‌ → 编辑功能设置
  2. 修改 最大允许内容长度 为 1200000000(约 1.14GB)
  1. 重启 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 需转换规则)

三、验证是否生效

  1. 创建 info.php 文件测试配置:
<?php phpinfo(); ?>
  1. 访问后检查 Core Values 中的 upload_max_filesize 和 post_max_size
  2. 上传测试文件时:
    • 使用 ‌Chrome 开发者工具(F12)‌ → Network 标签
    • 观察上传请求是否返回 HTTP 413 错误

四、替代方案(如仍失败)

  1. 通过 FTP 手动上传‌:
    • 将文件传到 /wp-content/uploads/ 对应日期目录
    • 在 WordPress 媒体库点击「从服务器添加」
  2. 使用插件绕过限制‌:
    • FileBird‌:支持本地文件导入媒体库
    • Media Sync‌:扫描服务器文件并关联

五、注意事项

  1. 如果使用 ‌Nginx 反向代理‌,需额外修改:
client_max_body_size 1024m;
proxy_read_timeout 600;
  1. 大文件上传建议:
    • 避开高峰期
    • 使用有线网络(非 WiFi)
    • 压缩文件为 ZIP 后上传

如果按照以上步骤操作后仍出现错误,请检查 Windows 事件查看器中的 ‌应用程序日志‌,定位具体超时或拒绝请求的模块。