需同步调整Nginx、PHP及FastCGI参数:一、Nginx中设置client_max_body_size 2000m;二、PHP中upload_max_filesize与post_max_size均设为2000M;三、添加fastcgi_buffers 256 16k和fastcgi_buffer_size 128k;四、memory_limit不低于上传文件1.5倍;五、检查宝塔防火墙或WAF拦截规则。

如果您在宝塔面板中使用PHP上传大文件时遇到“413 Request Entity Too Large”错误,说明Nginx或PHP的请求体大小限制被触发。以下是解决此问题的步骤:
一、修改Nginx配置中的client_max_body_size
该指令用于控制Nginx允许接收的最大请求体大小,默认值通常为1MB,超出即返回413错误。需在站点配置中显式增大该值。
1、登录宝塔面板,进入【网站】页面,找到对应站点,点击【设置】。
2、切换到【配置文件】选项卡,在server块内(通常位于location ~ \.php(.*){ 之前)插入或修改如下行:
立即学习“PHP免费学习笔记(深入)”;
client_max_body_size 2000m;
3、保存配置文件后,点击【重载配置】按钮使Nginx生效。
二、调整PHP配置中的upload_max_filesize和post_max_size
PHP自身对上传文件大小和POST数据总量设有双重限制,二者均需同步调高,且post_max_size必须大于或等于upload_max_filesize。
1、在宝塔面板中进入【软件商店】,找到已安装的PHP版本,点击右侧【设置】。
2、切换到【配置修改】选项卡,定位到以下两行:
upload_max_filesize = 2000M
post_max_size = 2000M
3、修改完成后点击【保存】,系统将自动重启PHP服务。
三、检查并覆盖FastCGI参数中的fastcgi_buffers与fastcgi_buffer_size
当上传超大文件且启用FastCGI时,缓冲区不足可能导致413错误,尤其在高并发或长连接场景下需增强缓冲能力。
1、返回站点【配置文件】,在location ~ \.php(.*){ 块内添加以下两行(位于fastcgi_pass指令之后):
fastcgi_buffers 256 16k;
fastcgi_buffer_size 128k;
2、保存配置并点击【重载配置】。
四、验证php.ini中memory_limit是否足够
PHP内存限制过低可能在处理大文件上传过程中中断执行,间接引发Nginx层413响应(因PHP进程提前终止导致连接异常关闭)。
1、在PHP【配置修改】页面中查找memory_limit项。
2、将其值设为不低于上传目标文件大小的1.5倍,例如:
memory_limit = 3072M
3、保存后确认PHP服务已重启。
五、检查是否启用了宝塔防火墙或第三方WAF规则拦截
部分安全插件会基于请求体长度实施主动拦截,即使Nginx与PHP配置已放宽,仍可能因中间层策略触发413响应。
1、进入【安全】→【防火墙】,临时关闭宝塔防火墙进行测试。
2、若关闭后上传成功,则需进入【防火墙设置】→【自定义规则】,添加放行规则:
匹配URL:/your_upload_path/,动作:放行
3、重新启用防火墙并观察效果。











