需同步调整Nginx的client_max_body_size、PHP的post_max_size和upload_max_filesize参数至相同值(如100M),并检查禁用mod_security等干扰模块及优化fastcgi缓冲区设置。

如果您在宝塔面板中使用PHP上传文件时遇到“413 Request Entity Too Large”错误,说明客户端发送的请求体超过了服务器允许的最大值。该错误通常由Nginx或PHP自身的上传限制共同导致。以下是修改相关参数的具体步骤:
一、调整Nginx客户端请求体大小限制
Nginx默认限制客户端请求体大小为1MB,超出即返回413错误。需修改站点配置中的client_max_body_size参数以提升上限。
1、登录宝塔面板,进入【网站】页面,找到对应站点,点击右侧【设置】按钮。
2、在弹出窗口中切换到【配置文件】选项卡。
立即学习“PHP免费学习笔记(深入)”;
3、在server块内(通常位于location ~ \.php$ { 之前或同级位置),添加或修改以下指令:
client_max_body_size 100M;
4、点击右上角【保存】按钮,然后点击【重载配置】使Nginx生效。
二、修改PHP上传文件大小限制
PHP自身对上传文件有post_max_size和upload_max_filesize两项独立限制,二者均需同步调高,且post_max_size必须大于或等于upload_max_filesize。
1、在宝塔面板左侧菜单中点击【软件商店】,找到已安装的PHP版本,点击右侧【设置】。
2、切换到【配置修改】选项卡。
3、将post_max_size值修改为例如100M。
4、将upload_max_filesize值修改为例如100M。
5、点击【保存】按钮,系统将自动重启PHP服务。
三、检查并禁用可能干扰的防火墙模块
部分用户启用了Nginx的mod_security或ngx_http_upload_module等第三方模块,其内置规则可能额外拦截大文件上传请求,导致413错误被错误触发。
1、进入【软件商店】→ 找到当前运行的Nginx → 点击【设置】→【配置修改】。
2、查找是否存在类似SecRequestBodyLimit或upload_max_file_size等非标准指令。
3、若存在且值过小(如1M),将其注释或删除。
4、保存配置并点击【重载配置】。
四、验证fastcgi缓冲区设置
当使用PHP-FPM通过FastCGI与Nginx通信时,若fastcgi_buffer_size或fastcgi_buffers过小,也可能在处理大POST数据时引发413或502错误。
1、在站点配置文件的location ~ \.php$ { 块内,确认包含以下两行:
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
2、若不存在,手动添加至fastcgi_pass指令之后、fastcgi_param之前的位置。
3、保存配置并重载Nginx。











