需同时修改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 7.4/8.0)→ 点击右侧「设置」→ 切换到「配置修改」选项卡:
,该值需 ≥ upload_max_filesize(建议设为 64M 或 128M)修改后点击右上角「保存」,再点击「重载配置」使PHP生效。
仅改PHP还不够,Nginx/Apache本身也会拦截超大请求体:
server{...} 块内添加或修改:client_max_body_size 64M;(放在 location / { } 外部更稳妥) 或虚拟主机段,添加:LimitRequestBody 67108864(单位字节,64M=67108864)保存后重启Nginx或Apache服务(宝塔界面有「重启」按钮)。
创建一个 phpinfo.php 文件(内容为 ),上传到网站根目录并访问。搜索以下三项确认数值已更新:
若仍无效,请检查是否选错了PHP版本(多版本共存时常见)、或被.htaccess/Nginx规则二次限制。
部分CMS(如WordPress)自身也有上传限制,需同步处理:
wp-config.php 中添加define('WP_MEMORY_LIMIT', '256M');functions.php 中加过滤器(不推荐长期使用)不复杂但容易忽略。改完记得重启服务,再刷新浏览器缓存测试上传效果。