修改 Discuz 论坛附件上传限制为 50M 需要同时调整 PHP 配置文件和 Discuz 后台设置。PHP 的 upload_max_filesize 和 post_max_size 必须大于或等于 50M,否则后台设置无效。
先说结论:仅修改 Discuz 后台无法突破服务器限制,必须同步修改 php.ini 配置。
- 适合:Discuz X2.5、X3、X3.5 及后续版本论坛
- 先准备:服务器 php.ini 编辑权限、Web 服务重启权限
- 验收:上传 50M 测试文件并检查后台 PHP 信息
快速处理思路
若无法直接执行命令,按以下逻辑顺序操作:
- 定位当前生效的 php.ini 文件路径。
- 修改 upload_max_filesize 为 50M,post_max_size 为 55M 或更大。
- 重启 Apache 或 Nginx 服务使 PHP 配置生效。
- 登录 Discuz 后台,在用户组或全局设置中将附件限制调整为 50M。
- 使用测试账号上传文件验证。
为什么会这样
Discuz 的附件上传受限于 PHP 解释器的底层配置,而非仅由论坛程序控制。PHP 的 upload_max_filesize 参数决定了单个文件上传的上限,post_max_size 决定了 POST 请求总数据量的上限。如果 PHP 层限制为 2M,即使 Discuz 后台设置为 50M,请求到达 PHP 层时也会被拦截,导致提示“服务器限制无法上传那么大的附件”。
分步处理
按顺序执行以下配置,确保每一层限制均放开至 50M 以上。
1. 修改 PHP 配置文件
找到服务器上的 php.ini 文件,修改以下参数。若使用宝塔面板,可在软件设置中直接修改。
upload_max_filesize = 50M
post_max_size = 55M
memory_limit = 128M
max_execution_time = 300
max_input_time = 300修改后必须重启 Web 服务(Apache/Nginx/PHP-FPM),否则配置不生效。
2. 调整 Discuz 后台设置
登录 Discuz 管理中心,进入“全局”→“上传设置”→“常规设置”,检查附件大小限制。同时进入“用户”→“用户组”→“编辑”,找到目标用户组,在“论坛相关”→“附件相关”中设置“论坛最大附件尺寸”为 51200KB(即 50M)。
3. 检查目录权限
确保附件存储目录有写入权限。Linux 环境下可执行以下命令:
chmod -R 755 /path/to/discuz/data/attachment
chown -R www:www /path/to/discuz/data/attachment怎么验证是否生效
完成配置后,通过以下方式确认限制已解除:
- 查看 PHP 信息:在 Discuz 后台“工具”→“PHP 信息”中,搜索 upload_max_filesize,确认显示值为 50M 或更大。
- 实际上传测试:使用目标用户组账号发帖,尝试上传一个 50M 的文件,观察是否提示错误。
- 检查错误日志:若上传失败,查看服务器 error_log 或 Discuz 运行日志,确认是否有 permission denied 或 size limit 相关报错。
常见坑
- post_max_size 过小:该值必须大于 upload_max_filesize,否则文件上传会失败。
- Web 服务器限制:Nginx 的 client_max_body_size 或 Apache 的 LimitRequestBody 若未调整,可能拦截大文件请求。
- 多 PHP 版本冲突:服务器若存在多个 php.ini,修改了错误版本会导致配置未生效。
- 缓存未清除:修改配置后若使用 Opcache,需重启 PHP 服务清除缓存。
常见问题
上传进度到 100% 后提示服务器限制怎么办?
通常是 PHP 的 post_max_size 设置过小。检查 php.ini 中 post_max_size 是否大于文件大小,并重启 Web 服务。
为什么后台设置了 50M 还是只能上传 2M?
因为 php.ini 中的 upload_max_filesize 默认通常为 2M,优先级高于 Discuz 后台设置,需优先修改 PHP 配置。
修改 php.ini 后需要重启服务器吗?
需要。必须重启 Apache、Nginx 或 PHP-FPM 服务,新的 PHP 配置才会加载生效。
参考来源
- Discuz 附件上传如何设置?大小限制怎么修改?(资料日期:2025 年 10 月 3 日)
- Discuz X2.5 论坛,'服务器限制无法上传那么大的附件'的解决办法(资料日期:2012 年 10 月 24 日)
- 论坛 php 图片上传,Discuz! X3 论坛文件图片上传尺寸:小于 2M 的修改方法(资料日期:2024 年 1 月 9 日)
- 突破 Discuz!论坛上传附件大小限制,实现大文件顺利上传 - 黄文 Rex - 博客园(收录于 2025 年 1 月 9 日)
- Discuz!大附件上传设置(资料日期:2024 年 2 月 16 日)