需调整PHP 8.4上传限制,依次修改php.ini中upload_max_filesize和post_max_size、宝塔快捷配置、Nginx的client_max_body_size、脚本级ini_set设置,以及php-fpm的memory_limit和request_terminate_timeout参数。

如果您在使用宝塔面板配置的PHP 8.4环境中上传文件时遇到“上传文件过大”或“413 Request Entity Too Large”等错误,通常是由于PHP默认的上传限制参数未适配大文件场景。以下是调整PHP 8.4上传大小限制的多种方法:
一、修改PHP配置文件php.ini
该方法直接调整PHP核心上传参数,适用于所有通过PHP处理的文件上传(如Web表单、API接口等),需重启PHP服务生效。
1、登录宝塔面板,进入【软件商店】→ 找到已安装的PHP 8.4 → 点击右侧【设置】按钮。
2、在弹出窗口中切换到【配置修改】选项卡,定位到upload_max_filesize和post_max_size两行。
立即学习“PHP免费学习笔记(深入)”;
3、将upload_max_filesize值修改为所需大小,例如:upload_max_filesize = 512M。
4、将post_max_size值设为不小于upload_max_filesize,例如:post_max_size = 512M。
5、可选:检查并调整max_execution_time与max_input_time以避免超时中断,例如设为max_execution_time = 300。
6、点击【保存】按钮,返回PHP设置页,点击【重载配置】或【重启】PHP服务。
二、通过宝塔面板快捷配置界面调整
宝塔提供图形化快捷入口,可避免手动编辑配置文件出错,适合不熟悉ini语法的用户,修改后仍需重启PHP服务。
1、进入宝塔面板【网站】→ 选择对应站点 → 点击【设置】。
2、切换至【PHP版本】选项卡,确认当前使用PHP 8.4。
3、点击右侧【PHP配置】按钮,进入PHP配置管理页。
4、在搜索框中输入upload,找到upload_max_filesize项,点击右侧编辑图标。
5、输入新值,例如:512M,保存后同理修改post_max_size为相同或更大值。
6、返回上一页,点击【重载配置】完成应用。
三、针对Nginx反向代理场景补充调整
当宝塔使用Nginx作为Web服务器时,即使PHP配置已调高,Nginx自身的请求体限制仍会拦截大文件上传,必须同步修改Nginx配置。
1、进入宝塔【网站】→ 选择对应站点 → 点击【设置】→ 切换至【配置文件】选项卡。
2、在server区块内(通常位于location ~ \.php$附近)添加或修改以下指令:
3、插入:client_max_body_size 512M;
4、确保该指令位于server块内且不在嵌套的location中,否则可能不生效。
5、点击【保存】,然后返回【网站】列表,点击对应站点右侧【重启】按钮。
四、临时覆盖PHP运行时参数(仅限脚本级)
该方法不修改全局配置,仅对特定PHP脚本生效,适用于无法修改服务器配置的共享环境或调试验证场景,但部分SAPI(如php-fpm)可能忽略此设置。
1、在目标上传处理脚本(如upload.php)顶部添加以下代码:
2、ini_set('upload_max_filesize', '512M');
3、ini_set('post_max_size', '512M');
4、ini_set('max_execution_time', '300');
5、注意:该方式无法突破memory_limit限制,若需处理超大文件,还需同步增大内存限制。
五、检查并调整PHP-FPM内存与超时参数
PHP 8.4常以php-fpm模式运行,其池配置中的资源限制可能成为隐性瓶颈,尤其在并发上传或大文件分片场景下。
1、进入宝塔【软件商店】→ 找到PHP 8.4 → 点击【设置】→ 切换至【配置文件】选项卡。
2、点击右上角【打开】按钮,选择路径为/www/server/php/84/etc/php-fpm.d/www.conf(版本号请按实际路径确认)。
3、查找php_admin_value[memory_limit],将其值设为不低于上传目标值,例如:php_admin_value[memory_limit] = 1024M。
4、查找request_terminate_timeout,设为足够长的超时时间,例如:request_terminate_timeout = 300。
5、保存文件后,返回PHP设置页,点击【重启】PHP服务以加载新FPM配置。











