PHP上传大小限制需同时修改php.ini中的upload_max_filesize和post_max_size,并调整Nginx的client_max_body_size,改完须重启PHP服务并重载Nginx配置。
PHP 上传大小限制在哪改
宝塔面板里改 PHP 配置,本质是改
文件,不是改宝塔界面里的某个开关。很多用户点来点去找不到“上传限制”按钮,是因为它根本不在面板前端——得进
配置文件
手动调。
常见错误现象:
改了但还是传不过 2MB,或者上传时直接报
(那是 Nginx 拦的,不是 PHP)。
控制单个文件上限,比如设为
必须 ≥
,否则表单提交直接失败(常见坑:只改前者,忘了后者)
和
建议同步调大,否则大文件上传中途超时中断
改完必须重启 PHP 服务(不是重载,是重启),否则不生效
宝塔里怎么找到并编辑
php
.ini
别在「网站」→「PHP 版本」→「配置文件」里瞎点——那个页面显示的是当前网站所用 PHP 的全局配置路径,但编辑入口藏得深。
正确路径:
软件商店 → 找到你用的 PHP 版本 → 点击「设置」→「配置修改」→ 拉到底部点「保存」前,先确认你看到的是
。
立即学习
“
PHP免费学习笔记(深入)
”;
PHP 8.5.5
PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载
不同 PHP 版本配置文件路径不同,
如
、
,别选错
如果用了多版本 PHP,每个版本都得单独改一遍
别用宝塔自带的「一键修改」功能(如“上传限制”滑块),它只改
,漏掉
,大概率失效
为什么改了 php.ini 还是 2MB?检查 Nginx 限制
PHP 层放开后,Nginx 默认只允许 1MB 请求体,会直接返回
,连 PHP 都没机会执行。
对应配置在网站的 Nginx 配置文件里,路径通常是
,或通用配置
。
找
这行,设为和
一致,比如
这行必须加在
块内,不能放在
或
里(位置错就无效)
改完要执行
检查语法,再
或在宝塔里点「重载配置」
上传卡住、进度条不动、502 错误怎么排查
这些不是单纯改数字就能解决的,往往是多个环节叠加失败。
502 错误:大概率是 PHP-FPM 超时或崩溃,检查
和
(在
里)
进度条不动:前端 JS 可能没处理分块上传,或后端没返回进度响应;跟 PHP 配置无关,别白改
上传中途断开:看
,重点搜
、
、
用
页面确认实际生效的
值,别信自己“记得改过”
最常被忽略的一点:改完所有配置后,浏览器缓存可能让旧的上传表单(含隐藏字段
)还在起作用,清缓存或换无痕窗口测试。
php.iniupload_max_filesize413 Request Entity Too Largeupload_max_filesize100Mpost_max_sizeupload_max_filesizemax_execution_timemax_input_time/www/server/php/{版本号}/etc/php.ini{版本号}8074upload_max_filesizepost_max_size413 Request Entity Too Large/www/server/panel/vhost/nginx/{域名}.conf/www/server/nginx/conf/nginx.confclient_max_body_sizeupload_max_filesizeclient_max_body_size 100M;serverhttplocationnginx -tsystemctl reload nginxrequest_terminate_timeoutrequest_slowlog_timeoutwww.confphp.inierror.logtimeoutclient closedrecv() failedphpinfo()upload_max_filesizeMAX_FILE_SIZE