商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 宝塔面板无法上传超过50MB的文件如何解决_修改面板自身的上传大小限制

宝塔面板无法上传超过50MB的文件如何解决_修改面板自身的上传大小限制

  发布于2026-07-19 阅读(0)

扫一扫,手机访问

上传文件到宝塔面板管理的站点,明明网络没问题,却总是在50MB这个节点上被“咔嚓”一下截断——这事儿在运维圈里可太常见了。很多时候,上传失败、或者提示文件过大,根源就是Nginx和PHP这俩“看门人”设置的限高杆,其中最低的那根决定了你能传多大的文件。今天咱们就把这个逻辑理清楚,顺便把手尾一并收拾利索。

首先,宝塔面板本身并不会硬性规定一个50MB的上传上限。你看到那个“上传失败”的报错,十有八九是后端Web服务器(通常是Nginx)或者PHP给拦下来的。问题的症结,就在Nginx的client_max_body_size、PHP的upload_max_filesizepost_max_size这三项配置里,系统取的是它们三个当中的最小值。

改Nginx:先闯过第一道大门

这是最容易被忽略的一步——很多人一股脑儿去调PHP参数,结果Nginx在请求体还没到PHP那一步就直接说“不”了。所以,动手的第一步是放行Nginx。

  • 最稳妥的办法是改全局配置。编辑/www/server/nginx/conf/nginx.conf这个文件,在http{...}这个大块儿里(注意,不是后面的server块),加上一行:client_max_body_size 500m;。至于具体写多大,按你实际需求来,这里用500M举例。
  • 如果你用的是宝塔面板7.9以上版本,也可以在面板【网站】→【设置】→【配置修改】里操作。找到server {开头的地方,在它后面紧跟着插入那句代码,注意缩进要跟下面的语句对齐。
  • 改完之后,千万别忘了执行bt reload,或者在面板里点击【重载Nginx】。改完不重载,等于白忙活。

调PHP:后端也不能拖后腿

Nginx这边放行了,PHP的路口也得同步打开。这里有个细节需要留意:post_max_size这个值必须大于等于upload_max_filesize,否则PHP会悄悄把大文件截断,连个像样的错误提示都不给你。在宝塔面板里操作很简单:

  • 进入【软件商店】,找到你当前站点正在使用的PHP版本,点【设置】→【配置修改】。
  • 搜索upload_max_filesize,把它改成500M(注意单位是大写M,小写m在某些环境下不识别)。
  • 再搜post_max_size,也改成500M或者更宽裕一点的512M
  • 保存之后,点击【重载配置】——别只点那个“重启PHP”,重载才能真正加载新的设置。想要验证到底有没有生效,可以新建一个phpinfo.php文件,内容写上,然后从浏览器访问它,搜索那两个参数值确认已更新。

排查安全插件和前端拦截

哪怕后端全都放开了,有时候在宝塔面板界面上传依然会卡住。这种情况,问题很可能出在安全策略或插件上。有两样东西值得重点检查:

  • 在【网站】→【设置】→【PHP版本】页面下方,留意“防跨站攻击(open_basedir)”这个勾选。它有时候会因为限制了临时上传目录的权限而把上传堵住。可以临时取消勾选测试一下。
  • 如果你装了“WAF防火墙”、“网站监控报表”这类第三方安全插件,某些版本可能会注入JS脚本拦截大文件上传。不妨暂时禁用它们,再试一次。

此外,调出浏览器的开发者工具(按下F12,切到Network标签页),看上传请求返回的状态码。如果返回的是413 Request Entity Too Large,那说明Nginx那边还没生效;如果返回500或者直接静默失败,多半是PHP配置或者插件的问题。

说到底,这活儿本身并不复杂,真正的麻烦在于:改完参数忘重载、改了Nginx却漏了PHP、或者自以为改对了版本,结果改的是另一个PHP实例的配置文件。所以,搞定之后不妨用php -i | grep "Loaded Configuration File"核对一下当前PHP加载的是哪份配置,这样才能确保万无一失。

本文转载于:https://www.php.cn/faq/2312013.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注