用心打造
VPS知识分享网站

WordPress上传文件提示413怎么办?Nginx和PHP都要检查

在 WordPress 后台上传主题、插件或媒体文件,进度还没走完就出现 413 Request Entity Too Large,这通常不是文件损坏,也不是 WordPress 权限问题,而是请求在进入 PHP 之前就被限制了。

真正容易绕晕的地方在于,上传请求可能依次经过 CDN、Nginx、PHP 和 WordPress。只改其中一层,页面上的限制数字可能变了,实际上传仍然失败。

上传413

413先查Nginx请求体限制

Nginx 的 client_max_body_size 控制客户端请求体大小,官方默认值为 1m。上传文件超过当前限制时,Nginx 会直接返回 413,请求通常还没有到达 PHP。

先检查配置中是否已经设置:

sudo nginx -T 2>/dev/null | grep -n client_max_body_size

nginx -T 会输出实际加载的完整配置,比只打开某个站点文件更可靠。面板环境可能在主配置、站点配置或额外引用文件中重复设置,真正生效的是请求所在上下文最终采用的值。

在正确的server中修改

例如需要允许最大 64MB 的上传,可以在目标站点的 server 中设置:

client_max_body_size 64m;

该指令可用于 httpserverlocation。放在全局会影响所有站点,放在目标 server 更容易控制范围。不要为了省事设置为 0,因为这会关闭请求体大小检查,失去一道资源保护。

修改后先测试语法,再平滑重载:

sudo nginx -t
sudo systemctl reload nginx

只有 nginx -t 通过后才能重载。 配置写错时继续强行操作,可能让原本正常的网站一起受到影响。

PHP还有两道上传限制

请求通过 Nginx 后,PHP 还会检查 upload_max_filesizepost_max_size。后者必须大于前者,因为一次 POST 请求除了文件本身,还包含表单和协议开销。

一个比较清晰的配置关系是:

upload_max_filesize = 64M
post_max_size = 72M
memory_limit = 256M

这里的数值只是示例,要按实际用途调整。PHP 官方文档说明,post_max_size 太小时,大请求可能让 $_POST$_FILES 直接变为空。单纯在 WordPress 插件里修改上传限制,也无法突破 PHP 在接收请求前已经执行的限制。

为什么改了php.ini仍然不生效

一台服务器可能同时安装多个 PHP 版本,命令行 PHP 和网站使用的 PHP-FPM 也可能读取不同配置。先在 WordPress 站点实际使用的 PHP 环境中确认配置,而不是只执行 php -i 就下结论。

常见面板会为每个 PHP 版本维护独立的 php.ini。修改后需要重载对应的 PHP-FPM 服务,服务名可能是 php8.2-fpmphp-fpm 或面板自定义名称。

可以通过 WordPress 站点健康信息、临时的 phpinfo() 页面或 PHP-FPM 配置确认 Loaded Configuration File。临时诊断页面用完要立刻删除,避免暴露服务器路径和扩展信息。

还要排除CDN和代理层

网站前面接入 CDN、WAF、负载均衡或另一层反向代理时,外层也可能限制请求大小。此时源站配置完全正确,经过域名上传仍失败,而直接访问受控的源站测试入口可能成功。

排查重点是对比响应头、错误页面样式和每一层日志,确认 413 到底由谁返回。不要一看到 413 就同时修改所有设备,否则问题解决后也不知道是哪一层起作用。

没有配置权限时怎么办

虚拟主机或受限环境可能不允许修改 Nginx 和 PHP-FPM,只能联系服务商调整,或改用 SFTP、面板文件管理等方式上传后再安装。长期需要上传备份、大型主题或媒体文件,自主管理的云服务器会更方便。

准备迁移时,可根据现有网站体积、备份大小和 PHP 版本选择配置,像 萤光云LightNode 这类可自行管理环境的平台,都适合先搭建同版本测试站,确认上传、固定链接和插件任务正常后再切换域名。

修改后要做三次验证

先上传一个明显小于限制的文件,确认基本上传功能正常;

再上传接近目标大小但仍低于限制的测试文件;

最后检查 Nginx 访问日志、错误日志和 PHP 日志,确认没有新的 413、超时或临时目录错误。

后台显示的最大上传尺寸只是 PHP 层给出的信息,真正验收标准是目标文件能够完整上传、解压和使用。主题或插件上传成功后还应检查文件权限,媒体文件则要确认缩略图生成正常。

常见问题

413和WordPress文件权限有关吗?

通常无关。413多发生在请求体大小检查阶段,权限错误更常表现为无法创建目录、无法移动上传文件或写入失败。

client_max_body_size应该设置多大?

按实际最大文件留出少量余量即可,不建议无限放大。常见内容站可从 32MB 或 64MB 起,再结合备份和媒体需求调整。

修改配置后需要重启服务器吗?

不需要重启整台服务器。Nginx语法检查通过后平滑重载,再重载对应的PHP-FPM服务即可。

赞(0)
未经允许不得转载;国外VPS测评网 » WordPress上传文件提示413怎么办?Nginx和PHP都要检查
分享到