You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FMElfinderBundle上传文件报Data exceeds the maximum allowed size错误

上传文件报"Data exceeds the maximum allowed size."的排查方案

修改php.ini配置后仍报错,按以下优先级排查即可解决:

  • 确认PHP配置修改生效,补全关联配置项
    绝大多数同类问题是改了错误的php.ini文件,或是改完未重启服务。不要用php -i命令查询ini路径,该命令返回的是CLI模式的配置路径,和Web请求实际加载的配置不是同一个文件。在Web可访问目录新建临时文件写入<?php phpinfo();,访问该页面找到Loaded Configuration File项,对应修改这个路径下的php.ini即可。
    除了你已经调整的max_file_uploads、upload_max_filesize、file_uploads,必须同步修改两个关联参数,且严格满足大小关系:memory_limit > post_max_size > upload_max_filesize > 你在Elfinder中设置的单文件上传上限。比如你配置了Elfinder允许上传10M以内文件,php.ini可参考如下配置:
    file_uploads = On
    upload_max_filesize = 16M
    max_file_uploads = 20
    post_max_size = 20M
    memory_limit = 256M
    
    修改完成后必须重启php-fpm进程、对应的Web服务(Nginx/Apache),配置才会正式加载。
  • 排查Web服务器层的请求大小限制
    这层限制会在PHP处理请求前直接拦截,修改php.ini不会生效。
    使用Nginx的话,在站点对应的server块或全局http块中添加/修改配置:
    client_max_body_size 20M;
    
    执行nginx -t确认配置语法正确后,重载Nginx服务即可。
    使用Apache的话,在站点配置或项目根目录的.htaccess中添加/修改配置:
    LimitRequestBody 20971520
    
    该配置单位为字节,20971520对应20M,修改完成后重载Apache即可。
  • 修复FMElfinderBundle 12.1的配置兼容问题
    你当前配置里的upload_allow: ['all']在12.1版本存在已知校验bug,该版本无法识别all作为允许上传类型的合法值,会误触发大小超限的校验逻辑。把该项修改为明确的MIME类型或文件后缀列表即可,比如要允许常见文件类型可以配置为:
    upload_allow: ['image/*', 'application/pdf', 'application/zip', 'application/x-rar-compressed', 'text/*', 'audio/*', 'video/*', 'application/msword', 'application/vnd.openxmlformats-officedocument.*']
    
    另外可以在connector层级全局添加upload_max_size: 10M配置做兜底,避免单root配置不生效,被默认root的2M大小限制覆盖。
  • 精准定位触发点
    你已经开启了debug: true,调整完上述配置后如果仍报错,打开浏览器开发者工具的网络面板,上传文件时查看连接器接口的返回内容,debug模式下会明确标注大小限制是在哪一层(PHP/Web服务器/Elfinder)触发的,对应调整即可。

内容的提问来源于stack exchange,提问作者firas matoussi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 04:39:19