通过wp-config.php文件调整(通用性强)
当.htaccess方法无效时,修改WordPress核心配置文件wp-config.php是另一种常见手段,这种方法直接在WordPress初始化阶段注入PHP配置,兼容性较好。
具体操作步骤
- 同样通过FTP或文件管理器进入WordPress根目录。
- 找到wp-config.php文件并备份(以防万一)。
- 打开文件,在“/ That’s all, stop editing! Happy publishing. /”这行注释之前,插入以下代码:
define('WP_MEMORY_LIMIT', '512M');
@ini_set('upload_max_filesize', '256M');
@ini_set('post_max_size', '256M');
@ini_set('memory_limit', '512M');
@ini_set('max_execution_time', '300');
注意:@符号用于抑制可能出现的警告信息,确保即使函数不可用也不会导致白屏,保存后刷新后台,检查媒体上传功能是否恢复正常。
修改php.ini或fpm配置文件(适用于VPS/独立服务器)
对于拥有Root权限的VPS用户,直接修改PHP配置文件是最彻底、最稳定的解决方案,这种方法不仅解决上传问题,还能优化整体服务器性能。
具体操作步骤
- 登录SSH终端,使用命令查找php.ini文件位置:
php --ini - 使用文本编辑器(如nano或vim)打开php.ini:
nano /etc/php/7.4/cli/php.ini(路径和PHP版本可能因服务器环境而异)
- 搜索以下参数并进行修改:

- upload_max_filesize = 256M
- post_max_size = 256M
- memory_limit = 512M
- max_execution_time = 300
- max_input_time = 300
- 保存并退出编辑器。
- 重启Web服务器和PHP服务以应用更改:
systemctl restart apache2 # 或 systemctl restart nginx systemctl restart php7.4-fpm
验证与排查:确保修改生效
修改配置后,必须验证是否真正生效,许多站长修改后未重启服务或未清除缓存,导致误以为修改失败。
使用PHPinfo()函数检测
这是最权威的验证方式,在网站根目录创建一个名为info.php的文件,内容如下:
<?php phpinfo(); ?>
在浏览器访问https://yourdomain.com/info.php,搜索“upload_max_filesize”和“post_max_size”,如果显示的值为你设置的256M,说明修改成功,记得在验证完成后删除info.php,以防安全漏洞。
检查WordPress后台显示值
登录WordPress后台,进入“媒体”->“添加新”,在上传界面下方,通常会显示“最大上传文件大小:256 MB”,如果此处显示的值与你设置的一致,说明WordPress已正确读取配置。
常见陷阱与注意事项
- 主机商限制:部分廉价共享主机商可能在服务器层面硬编码了限制,即使你修改了配置文件也无法生效,此时需联系主机客服,请求他们手动调整。
- Nginx配置:如果使用Nginx服务器,还需检查nginx.conf中的client_max_body_size参数,确保其值大于upload_max_filesize。
- CDN影响:若使用Cloudflare等CDN服务,需检查“边缘缓存”或“上传限制”设置,有时CDN层也会拦截大文件上传。

替代方案:使用外部存储优化上传体验
除了提高服务器限制,从架构层面解决大文件上传问题也是行业共识认为的最佳实践,对于视频网站或图库类站点,将媒体文件存储在外部服务可以显著减轻服务器压力。
对象存储的优势
将图片、视频上传至AWS S3、阿里云OSS或腾讯云COS等对象存储服务,具有以下优势:
- 速度更快:CDN加速分发,用户访问速度显著提升。
- 成本更低:按用量付费,避免服务器带宽瓶颈。
- 安全性高:独立存储,即使服务器被攻击,媒体文件依然安全。
常用插件推荐
- WP Offload Media:支持S3、GCS、Azure等多种后端,界面友好,易于配置。
- Amazon S3 and CloudFront:专为AWS用户设计,深度集成。
通过插件配置,WordPress后台的上传按钮会自动指向外部存储,彻底绕过upload_max_filesize限制,对于高流量站点,这是值得投资的长期解决方案。

FAQ:关于upload_max_filesize错误的常见问题
修改upload_max_filesize后,WordPress后台显示的大小未变化怎么办?
这通常是因为PHP配置未正确加载或缓存未清除,首先确认php.ini或.htaccess修改已保存并重启了Web服务,检查wp-config.php中的设置是否覆盖了其他配置,清除浏览器缓存和WordPress对象缓存(如使用WP Super Cache或W3 Total Cache插件),若仍无效,可能是主机商限制了用户自定义PHP值,需联系技术支持。
upload_max_filesize和post_max_size有什么区别?为什么都要改?
upload_max_filesize限制单个文件的大小,而post_max_size限制整个POST请求的数据总量,由于文件上传是通过POST请求发送的,如果post_max_size小于upload_max_filesize,即使单个文件未超限,整个请求也会因超出POST限制而被拒绝,post_max_size必须始终大于或等于upload_max_filesize,通常建议两者设置为相同值。
使用共享主机时,如果无法修改php.ini,还有其他办法吗?
除了.htaccess和wp-config.php方法,还可以尝试联系主机商客服,请求他们为你调整PHP配置,部分主机商提供控制面板(如cPanel),在“Select PHP Version”或“PHP Options”中允许用户直接调整上传限制,压缩文件体积或使用外部存储插件也是有效的替代手段。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/408787.html
![0基础建站教程[WordPress插件使用]Erphpdown会员vip下载+付费下载资源/付费查看内容](https://i2.hdslb.com/bfs/archive/2068031b537764061be7cb8c3a59abb0cdd3ab6d.jpg)