WordPress上传文件大小限制怎么改?5种方法完整教程,宝塔/VPS/共享主机都适用
在我们建站过程中上传文件是必不可少的,手动上传至WordPress媒体库传图片或者手动安装插件,突然弹出一行字:
“超过了站点的最大上传限制”
或者在媒体库上传区域看到”最大上传文件大小:2MB”——2MB,这就让人觉得很离谱,一张没压缩过的产品图都有可能会超。
很多人第一反应是去WordPress设置里找,但根本找不到——因为这个限制不是WordPress设的,是服务器的PHP配置。WordPress只是读取了PHP报告过来的数字,然后显示给你看。
真正要改的是PHP里的这三个参数:
upload_max_filesize:单个文件最大上传大小post_max_size:单次POST请求最大大小(必须 ≥ upload_max_filesize)memory_limit:PHP内存上限(必须 ≥ post_max_size)
三个值要配套改,只改一个没用。
下面5种方法按从简单到复杂排列,根据你的服务器环境选一个就行。
修改前:先确认当前限制是多少
进入WordPress后台 → 工具 → 网站健康 → 信息 → 展开”服务器”,找到”PHP最大上传文件大小”和”PHP内存上限”,就能看到当前的限制值。
或者在媒体库页面底部直接看——”上传最大文件大小: XX MB”那行字就是当前限制。
确认完当前值,再决定要改到多少。一般外贸独立站建议设置到 64M-128M,够用又不过度消耗内存。
方法一:宝塔面板直接改(最简单,推荐)
用宝塔面板建站的用户,这是最省事的方式,图形界面操作,不需要摸任何文件。
进入宝塔后台 → 左侧菜单 软件商店 → 找到已安装的PHP版本(比如PHP 8.2)→ 点击 设置 → 切换到 配置修改 标签页。
在配置文件里找到这三行,改成你需要的值:
upload_max_filesize = 128M
post_max_size = 128M
memory_limit = 256M
改完之后点保存,然后回到软件商店点一下PHP的 重启 按钮。不重启的话配置不会生效。
重启之后回到WordPress媒体库,刷新页面,底部显示的上传限制数字应该已经更新了。
宝塔面板的完整使用教程可以参考:宝塔面板安装教程
方法二:修改php.ini文件(VPS用户通用)
自己管VPS、没有宝塔面板的用户,直接改php.ini是最稳妥的方法。
找到php.ini的位置:
SSH连接到服务器,执行:
php --ini
输出里会显示”Loaded Configuration File”那行,就是php.ini的路径。常见路径有:
/etc/php/8.2/fpm/php.ini(Ubuntu+PHP-FPM)/etc/php.ini(CentOS)/usr/local/lib/php.ini(部分环境)
由于我以安装了宝塔面板的服务器执行的命令,所以这里显示的是 /www/server/php/etc
用nano编辑器修改(新手友好,自行修改命令中的路径):
nano /www/server/php/82/etc/php.ini
按 Ctrl+ Q 搜索 upload_max_filesize,找到之后修改(如果只找到单项可分别搜索查找并修改):
upload_max_filesize = 128M
post_max_size = 128M
memory_limit = 256M
max_execution_time = 300
max_input_time = 300
max_execution_time 和 max_input_time 是PHP单次执行的时间限制(秒),上传大文件时网速慢的话需要一起调大,否则文件还没传完PHP就超时报错了。
按下 Ctrl + X,如果文件有修改,按 Y 确认保存,再按 Enter 退出。
重启PHP-FPM让配置生效:
systemctl restart php8.2-fpm
# 根据你的PHP版本替换版本号,比如php8.0-fpm
方法三:在网站根目录创建.user.ini(共享主机友好)
如果使用的服务器支持通过.user.ini更改PHP-FPM配置,你也可以把配置代码写入到.user.ini文件中。这个方法特别适合共享主机用户——没有root权限、改不了服务器级别的php.ini,但可以在网站目录里放一个.user.ini来覆盖部分配置。
用宝塔文件管理器或者XFTP客户端,在WordPress网站根目录(就是wp-config.php那层)新建一个文件,命名为 .user.ini(注意前面有个点),写入:
ini
upload_max_filesize = 128M
post_max_size = 128M
memory_limit = 256M
max_execution_time = 300
保存之后,PHP-FPM会在几分钟内自动读取(不需要重启服务器),刷新WordPress后台确认是否生效。
⚠️ 这个方法只在PHP-FPM模式下有效,Apache+mod_php模式下用.htaccess方法(见下一节)。
方法四:修改.htaccess文件(Apache服务器)
如果你网站服务器在Apache上运行,可以更新站点的.htaccess文件来增加WordPress最大上传大小。
在WordPress网站根目录找到 .htaccess 文件(和wp-config.php同一层),在文件末尾追加:
php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value memory_limit 256M
php_value max_execution_time 300
php_value max_input_time 300
保存之后不需要重启,直接刷新WordPress后台验证。
有一点要注意:使用.htaccess方法后如果出现500 Internal Server Error,很可能是服务器在CGI模式下运行PHP,这种情况下不能在.htaccess里使用php_value指令。遇到这种情况就换用.user.ini或者php.ini方法。
方法五:在functions.php里加代码(临时方案)
这个方法不需要碰服务器配置文件,直接在WordPress里操作,适合实在没有服务器权限的情况。
进入WordPress后台 → 外观 → 主题文件编辑器 → 找到并点开 functions.php,在文件末尾(?> 之前,如果没有这行就在最后一行)加入:
@ini_set( 'upload_max_size' , '128M' );
@ini_set( 'post_max_size', '128M' );
@ini_set( 'max_execution_time', '300' );
保存之后刷新媒体库验证。
但有个问题要提醒:如果换了主题,这段代码就不再生效了。所以这是应急用的方法,长期方案还是改php.ini或者.user.ini更稳。更好的做法是把这段代码放进子主题的functions.php,这样换皮不影响功能。
改完之后怎么验证?
改完并重启服务之后,回到WordPress后台验证,有两个地方可以确认:
方法一:媒体库 → 添加媒体,看页面底部”最大上传文件大小:XX MB”这行数字有没有变化。
方法二:工具 → 网站健康 → 信息 → 服务器,展开后找”PHP最大上传文件大小”,看是否已经更新。
如果数字没变,通常是以下原因之一:PHP服务没有重启、改的不是当前网站实际加载的php.ini(有些环境有多个php.ini)、或者主机商在更上层做了限制。
几种环境对应选哪个方法?
| 你的环境 | 推荐方法 |
|---|---|
| 宝塔面板建站 | 方法一(直接在面板改) |
| 自己管VPS,无面板 | 方法二(直接改php.ini) |
| 共享主机,PHP-FPM模式 | 方法三(.user.ini) |
| 共享主机,Apache+mod_php | 方法四(.htaccess) |
| 没有服务器权限,临时需要 | 方法五(functions.php) |
| SiteGround / Hostinger等商业主机 | 联系客服或在主机面板里改 |
共享主机用户如果上面方法都试过还是不行,大概率是主机商在服务器层面锁死了上传限制,这时候最直接的方式是开工单告诉客服你要把上传限制改到多少,让他们帮你改。
宝塔面板安全加固避免配置被篡改:宝塔面板安全加固10项配置
WordPress安装完成后的基础配置清单:WordPress安装后必做的设置
图片上传太大导致速度慢?配合Imagify压缩:WordPress速度优化完整指南
WordPress常见报错排查汇总:WordPress高CPU使用率修复教程