需修改PHP 8.4的max_execution_time、max_input_time、upload_max_filesize、post_max_size等参数至1800秒和2048M,并同步调整Nginx或Apache的请求体大小与超时限制,禁用suhosin等干扰扩展,最后通过phpinfo.php验证配置生效。

如果您在使用宝塔面板配置的PHP 8.4环境中上传大文件时遭遇“上传超时”错误,通常是由于PHP默认的上传时限和资源限制过低所致。以下是延长PHP 8.4上传超时时间的具体操作步骤:
一、修改PHP配置文件中的超时与上传参数
该方法直接调整PHP核心运行参数,适用于所有通过PHP处理的文件上传场景,影响范围覆盖max_execution_time、max_input_time、upload_max_filesize、post_max_size及max_file_uploads等关键值。
1、登录宝塔面板,进入【网站】→选择对应站点→点击【PHP管理】→找到当前使用的PHP 8.4版本,点击【设置】。
2、在弹出窗口中切换至【配置修改】选项卡,定位到以下配置项并修改其数值:
立即学习“PHP免费学习笔记(深入)”;
3、将max_execution_time = 300改为max_execution_time = 1800(单位:秒,即30分钟)。
4、将max_input_time = 60改为max_input_time = 1800(确保表单数据解析不中断)。
5、将upload_max_filesize = 2M改为upload_max_filesize = 2048M(支持最大2GB单文件上传)。
6、将post_max_size = 8M改为post_max_size = 2048M(需≥upload_max_filesize)。
7、确认无误后点击【保存】,系统将自动重载PHP服务。
二、调整Nginx或Apache的请求体大小与超时限制
Web服务器本身也设有请求体长度与连接超时限制,若未同步放宽,PHP层修改将无法生效。需根据实际所用服务器类型分别处理。
1、若使用Nginx:进入【网站】→选择站点→【设置】→【配置文件】,在server块内location ~ \.php(.*)$段上方或内部添加以下指令:
2、插入client_max_body_size 2048m;
3、插入client_header_timeout 600;
4、插入client_body_timeout 600;
5、插入send_timeout 600;
6、保存配置文件后,点击【重载配置】按钮使Nginx生效。
7、若使用Apache:进入【网站】→选择站点→【设置】→【配置文件】,在
8、插入LimitRequestBody 2147483648(单位字节,即2GB)。
9、插入TimeOut 1800(全局请求超时时间)。
10、保存后点击【重载配置】。
三、检查并禁用可能干扰上传的PHP扩展或安全模块
部分PHP扩展(如suhosin、mod_security)或宝塔内置防火墙规则会主动截断长时POST请求,导致上传中途失败,即使PHP参数已调高仍无效。
1、进入【PHP管理】→【PHP扩展】→检查是否启用suhosin,如启用则点击【关闭】。
2、进入【安全】→【防火墙】→查看【Web应用防火墙(WAF)】是否开启,若开启则临时停用以验证是否为拦截源。
3、进入【网站】→选择站点→【伪静态】→确认未误写rewrite规则强制中断POST请求。
4、在【PHP管理】→【配置文件】中搜索关键词suhosin.post.max_value_length、suhosin.request.max_value_length,若存在则注释整行或设为0。
5、完成上述操作后,重启PHP服务:返回PHP管理页,点击【重启】按钮。
四、验证上传参数是否生效
修改完成后需通过PHP脚本确认各项参数已被正确加载,避免因配置路径错误或缓存导致修改未实际应用。
1、在网站根目录新建一个名为phpinfo.php的文件。
2、向该文件写入内容:。
3、通过浏览器访问https://您的域名/phpinfo.php。
4、在页面中按Ctrl+F搜索max_execution_time,确认其值为1800。
5、继续搜索upload_max_filesize与post_max_size,确保二者均显示为2048M。
6、搜索Loaded Configuration File,核对路径是否指向宝塔PHP 8.4的实际配置文件(如/opt/www/server/php/84/etc/php.ini)。











