WordPress 上传文件大小受限的nginx、php和设置

社区话题 wordpress开发 WordPress 上传文件大小受限的nginx、php和设置

标签: , ,

  • 该话题为空。
正在查看 0 条回复
  • 作者
    帖子
    • #1373

      追光
      管理员

      WordPress 上传文件大小受限的排查日志

      记录人:

      日期:


      问题描述

      在 WordPress 后台上传文件时提示:

      “文件大小超过服务器允许的最大值”

      检查发现:小文件可上传,大文件无法上传;不同目录、多站点环境下限制不一致。


      判断结论:WordPress 上传大小由三个关口共同决定

      WordPress 上传限制由以下 3 个环节共同控制,只要任意一个设置过低,就会导致上传失败:

      1. Nginx 的 client_max_body_size

      2. PHP 的上传配置 (upload_max_filesize / post_max_size)

      3. WordPress 后台设置(多站点模式:网络管理员 → 设置)


      详细排查过程与修改记录


      1. 检查并修改 Nginx 限制

      症状

      • 大文件上传直接报错 413 Request Entity Too Large 或白屏

      • 甚至还没到 WordPress/PHP 就被 Nginx 拦截

      处理

      编辑 AMH 面板中的 Nginx 配置,增加以下内容:

      http {
          client_max_body_size 5G;
      }
      
      server {
          client_max_body_size 5G;
      }
      
      location / {
          client_max_body_size 5G;
      }

      说明:为避免继承冲突,在 http / server / location 均设置 5G。

      重启 Nginx:

      service nginx restart

      处理结果:

      Nginx 不再拦截大文件上传,但 WordPress 仍然显示上传限制较小 → 进入下一步排查。


      2. 检查并修改 PHP 上传限制

      PHP 相关的三个关键项

      参数

      作用

      upload_max_filesize

      单个文件大小限制

      post_max_size

      整个表单提交大小(必须 ≥ upload_max_filesize)

      memory_limit

      PHP 执行需要的内存

      处理

      编辑 php.ini:

      upload_max_filesize = 5G
      post_max_size = 5G
      memory_limit = 1024M
      max_execution_time = 3000
      max_input_time = 3000

      重载 PHP-FPM:

      service php-fpm restart

      处理结果:

      PHP 环节放开限制;但 WordPress 多站点后台仍显示上传限制为较小值。


      3. WordPress 多站点后台的上传限制设置

      症状

      • 单站点模式不会出现

      • 多站点(Multisite)环境中 WordPress 自身有独立限制

      设置路径

      网络管理员 (Network Admin) → 设置 (Settings) → “上传文件大小限制”

      处理

      将此项调整为与 Nginx/PHP 一致的最大值,例如:

      5120000 KB  (约 5GB)

      处理结果:

      后台显示限制成功提升,与服务器一致,上传功能正常。


      最终结果总结

      关口

      原因

      已修复

      Nginx client_max_body_size

      拦截大文件导致 413 错误

      ✔ 设置为 5G

      PHP upload_max_filesize / post_max_size

      超出限制时 WordPress 报错

      ✔ 设置为 5G

      WordPress 多站点后台限制

      额外的 UI 限制,覆盖前面两项

      ✔ 调整至 5G


      最终结论

      WordPress 上传大小限制必须 三处全部放开 才能成功上传超大文件。

      任意一处限制太小都会成为瓶颈。

正在查看 0 条回复
  • 在下方一键注册,登录后就可以回复啦。