宝塔面板PHP文件上传限制怎么调?从零开始调大文件上传上限

为什么上传大文件总是失败?

很多刚用宝塔面板建站的朋友都会遇到一个问题:上传一个几十MB的文件时,页面一直转圈,最后提示“上传失败”或“413 Request Entity Too Large”。
这通常不是服务器坏了,而是 宝塔面板PHP文件上传限制 没放开。
PHP 默认只允许上传 2MB 的文件,如果网站需要上传高清图片、压缩包或视频,就必须手动调大这个限制。
下面我带你从零开始操作,每一步都写明命令和路径。

三个必须改的地方

上传限制牵涉三个层级:PHP 本身、Web 服务器(Nginx 或 Apache)以及宝塔面板的服务管理。
其中任何一个没改,上传都可能被拦下。

  • PHP:控制 upload_max_filesizepost_max_sizemax_execution_time 等参数。
  • Web 服务器:Nginx 用 client_max_body_size,Apache 用 LimitRequestBody
  • 宝塔面板:每次修改配置文件后,必须重启对应的服务才能生效。

下面按顺序操作,建议一步步跟着做。

第一步:修改 PHP 配置参数

  1. 登录宝塔面板后台,点击左侧菜单的“软件商店”。
  2. 找到你当前站点使用的 PHP 版本(例如 PHP 8.1),点击“设置”。
  3. 在弹出的窗口中,选择“配置文件”标签页,这里就是 php.ini 的编辑界面。
  4. 查找以下几项(可以用 Ctrl+F 快速定位):
  • upload_max_filesize:上传单个文件的最大值,改成 50M
  • post_max_size:一次 POST 请求的总数据量,必须大于等于 upload_max_filesize,建议改成 100M
  • max_execution_time:脚本最大执行时间(秒),上传大文件需要更长时间,改成 300
  • memory_limit:脚本最大内存消耗,改成 256M
  1. 修改后点击“保存”,然后点击“重启”按钮(或者到“服务”页签重启 PHP-FPM)。

注意:单位不要写错,常用的有 M(兆)和 G(吉)。
数值也不要太大,50M 对多数网站已经够用,太大反而容易让服务器内存耗尽。

第二步:调整 Nginx 上传大小限制

如果站点使用的是 Nginx,还需要修改它的 client_max_body_size

  1. 回到宝塔面板首页,点击“网站”。
  2. 找到你正在操作的站点,点击“设置”。
  3. 选择“配置文件”标签页(注意不是 PHP 的,是 Nginx 配置)。
  4. 在文件中搜索 client_max_body_size,如果没有找到,可以在 server { } 块内新增一行:
   client_max_body_size 100M;

如果已经存在,直接修改后面的数值(建议与 PHP 的 post_max_size 一致,比如 100M)。

  1. 保存文件,然后点击顶部的“重载配置”按钮让 Nginx 生效。

如果你用的是 Apache,
对应参数是 LimitRequestBody
同样在 Apache 配置文件或 .htaccess 中修改,
单位是字节,
例如 100M 对应 104857600

第三步:检查并重启全部服务

修改完配置后,一定要重启 PHP 和 Web 服务。
宝塔面板中可以直接操作:

  • 对于 PHP:在“软件商店” → 对应 PHP 的“设置” → “服务”页签,点击“重启”。
  • 对于 Nginx/Apache:在“软件商店” → 对应 Web 服务的“设置” → “服务”页签,点击“重启”或“重载配置”。

推荐顺序:先重载 Web 服务器,再重启 PHP-FPM。
如果顺序反了,有时会因为缓存导致新配置没生效。

常见问题与避坑

Q1:修改后上传仍然提示“413 Request Entity Too Large”?
A:大概率是 Nginx 的 client_max_body_size 没改成功。请重新检查站点配置文件,确认修改后已经重载配置。另外如果使用了 CDN,CDN 也可能有自己的上传限制,需去 CDN 控制台调整。

Q2:修改了 upload_max_filesize 但上传大于 2M 的文件还是失败?
A:检查 post_max_size 是否也改大了,且比 upload_max_filesize 大。另外如果使用了反向代理(如 Nginx 转发给 Apache),需要修改两端的限制。

Q3:修改后网站变慢或出现 500 错误?
A:可能 memory_limitmax_execution_time 改得太大导致资源耗尽。恢复到原始值试一下,确认是配置问题再逐步调大。

Q4:宝塔面板重启服务后,页面显示“502 Bad Gateway”?
A:通常是 PHP-FPM 重启过程中出现短暂中断,等待几秒钟再刷新即可。如果持续 502,检查 PHP 日志定位具体错误。

验证修改是否生效

在网站根目录创建一个 info.php 文件,内容如下:

访问 http://你的域名/info.php,搜索 upload_max_filesizepost_max_size,会显示当前实际值。
确认和你的修改一致后,删除该文件(避免泄露服务器信息)。

然后实际操作上传一个略小于上限的文件(比如 45MB 的 zip 包),看能否成功。
如果能正常上传,说明 宝塔面板PHP文件上传限制 已经调通。

如果你正在处理这个限制,建议先按本文步骤完整执行,再根据自己的环境做微调;
遇到异常时优先回看避坑和高频问题部分。

分享到:
上一篇
服务器运维学习路线2026:从零搭建
下一篇
WP网站数据库备份下载:宝塔面板与命令行两种方案
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意