需同时修改PHP的upload_max_filesize和post_max_size,并调整Nginx的client_max_body_size或Apache的LimitRequestBody,再重启服务并验证phpinfo生效。

宝塔面板中PHP上传大小限制默认较小(通常2M),上传大文件时会提示“上传失败”或“文件过大”。要解决这个问题,需同时修改PHP配置中的 upload_max_filesize 和 post_max_size 两项,并确保 Web 服务器(Nginx/Apache)的请求体限制也同步放宽。
一、在宝塔面板中修改PHP配置
登录宝塔面板 → 左侧菜单点击「软件管理」→ 找到已安装的PHP版本(如PHP 7.4/8.0)→ 点击右侧「设置」→ 切换到「配置修改」选项卡:
- 找到 upload_max_filesize,将其改为所需值(例如 64M)
- 找到 post_max_size,该值需 ≥ upload_max_filesize(建议设为 64M 或 128M)
- 可顺带检查 max_execution_time 和 max_input_time,大文件上传建议调高(如 300)
修改后点击右上角「保存」,再点击「重载配置」使PHP生效。
二、调整Web服务器请求体限制
仅改PHP还不够,Nginx/Apache本身也会拦截超大请求体:
立即学习“PHP免费学习笔记(深入)”;
-
Nginx用户:在宝塔中进入「网站」→ 点击对应站点 → 「配置文件」→ 在
server{...}块内添加或修改:client_max_body_size 64M;(放在 location / { } 外部更稳妥) -
Apache用户:在站点配置中找到
或虚拟主机段,添加:LimitRequestBody 67108864(单位字节,64M=67108864)
保存后重启Nginx或Apache服务(宝塔界面有「重启」按钮)。
三、验证是否生效
创建一个 phpinfo.php 文件(内容为 ),上传到网站根目录并访问。搜索以下三项确认数值已更新:
- upload_max_filesize
- post_max_size
- memory_limit(建议 ≥ upload_max_filesize,避免内存不足中断)
若仍无效,请检查是否选错了PHP版本(多版本共存时常见)、或被.htaccess/Nginx规则二次限制。
四、额外注意(WordPress等程序)
部分CMS(如WordPress)自身也有上传限制,需同步处理:
- WordPress:在
wp-config.php中添加define('WP_MEMORY_LIMIT', '256M');
或在主题functions.php中加过滤器(不推荐长期使用) - 后台「媒体 → 新建媒体」上传失败时,优先排查上述PHP+Web服务器配置,再查插件冲突
不复杂但容易忽略。改完记得重启服务,再刷新浏览器缓存测试上传效果。











