You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress上传异常:显示505MB上限却无法传超20MB文件求助

问题背景

我们共享服务器上的多个站点文件上传功能突然失效——原本支持最大505MB文件上传,近24小时内出现异常:

  • 前端用户上传时提示「Request Entity Too Large」
  • WordPress后台虽显示「Maximum upload file size: 505 MB.」,但上传大文件仅报「http error」

此前的有效配置如下:

  • Plesk站点订阅的PHP设置:memory_limit=530M、max_execution_time=300、max_input_time=250、post_max_size=525M、upload_max_filesize=505M
  • Apache/NGINX的http和https额外指令:
<IfModule mod_fcgid.c>
  FcgidMaxRequestLen 1073741824
  FcgidMaxRequestsPerProcess 100
  FcgidProcessLifeTime 7200
</IfModule>
  • NGINX全局配置(/etc/nginx/conf.d下加载至http块的.conf文件):
client_max_body_size 512M;

已尝试核对配置无改动、phpinfo()确认配置生效、重启服务器、添加.htaccess规则、修改/wp-admin/php.ini/wp-config.php、禁用所有插件/切换默认主题,均未解决问题,怀疑与Plesk或PHP更新有关。

针对性排查与修复方案

结合我在Plesk环境下的踩坑经验,给你几个优先级从高到低的排查方向:

1. 检查Plesk更新后的全局配置覆盖

Plesk更新时经常会自动重置全局Web服务器配置:

  • 登录Plesk后台,进入工具与设置 > 服务器设置 > Web服务器设置,查看NGINX的「最大请求体大小」是否被重置为默认值(比如100M),如果是直接改成512M并应用。
  • 检查Apache的mod_fcgid全局配置:去服务器上看/etc/httpd/conf.d/fcgid.conf(CentOS)或/etc/apache2/mods-available/fcgid.conf(Ubuntu),确认FcgidMaxRequestLen还是1073741824(1GB),被改了就手动调回去,然后重启Apache。

2. 验证PHP-FPM配置(如果站点用的是FPM模式)

如果你的站点用的是PHP-FPM而非FCGI,Plesk更新可能悄悄改动了FPM池配置:

  • 先在Plesk的域名 > 目标域名 > PHP设置确认是否用的PHP-FPM;
  • 找到对应PHP版本的FPM池文件,比如/etc/php/8.1/fpm/pool.d/[你的域名].conf(Ubuntu)或/etc/php-fpm.d/[你的域名].conf(CentOS),检查:
    • request_terminate_timeout是否大于300秒(避免超时)
    • 手动添加以下配置确保上传参数生效:
      php_value[upload_max_filesize] = 505M
      php_value[post_max_size] = 525M
      
  • 保存后重启PHP-FPM服务:
    systemctl restart php8.1-fpm # 替换成你实际的PHP版本
    

3. 排查站点级NGINX指令优先级

Plesk的站点级NGINX指令可能覆盖全局配置:

  • 进入域名 > 目标域名 > Apache & NGINX设置,查看「额外的nginx指令」里有没有client_max_body_size,有就确保值≥512M,没有就手动加一行client_max_body_size 512M;再应用。

4. 检查安全模块/防火墙的限制

更新后安全模块或防火墙可能启用了请求体大小拦截:

  • 查看ModSecurity配置(比如/etc/modsecurity/modsecurity.conf),检查SecRequestBodyLimit的值,要≥550502400字节(525M),太小就改了重启Apache。
  • 如果用了CDN(比如Cloudflare),确认CDN后台的「最大上传大小」设置≥505MB,避免CDN先拦截了大文件请求。

5. 查看PHP-FPM错误日志找具体原因

有时候表面是上传错误,实际是进程被系统杀死:

  • 在Plesk里进域名 > 日志 > PHP-FPM错误日志,或者服务器上看/var/log/php-fpm/[你的域名].log,如果看到类似:
    [10-Oct-2024 12:34:56] WARNING: [pool example.com] child 1234 exited on signal 9 (SIGKILL) after 123.456 seconds from start
    
    就需要调整PHP-FPM的pm.max_children或pm.process_idle_timeout参数,避免进程因资源不足被系统终止。

6. 强制Plesk重新生成Web服务器配置

如果以上都没解决,试试让Plesk彻底修复配置:

  • SSH登录服务器执行:
    plesk repair web -y
    
    这个命令会自动修复所有Web服务器配置文件的问题,执行前记得备份重要的自定义配置。

内容的提问来源于stack exchange,提问作者Ultra Graphics

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 10:06:47