解决Discuz! X2附件大小16M限制

前些天都是往pianofan.net上传乐谱,今天要传音频,结果好不容易传上去说失败!

我记得明明在php.ini中设置附件大小是20M了啊。。。

Google之,答案是php.ini中有三个参数与附件上传有关:

memory_limit:脚本最大使用内存大小,这个据说要改大,但我表示怀疑,传附件并不一定需要先把整个文件读到内存里,不过看到我的设置本来就是128M,也就没管它了;

post_max_size:一个POST请求最大的容量。这是导致我刚刚上传失败的主要原因!附件上传和表单提交一样是用POST的,这个值要设置为一次附件上传(可能同时上传多个文件)的总大小,我干脆写了个100M;

upload_max_filesize:这个是单个文件的最大大小,就不多说了,大家都知道,这里我设了50M。

然后是后台用户组的最大附件限制,结果无论我怎么设置,保存后再来看都是16M!!!

只能再Google,发现是数据库采用的是int24类型,最大数据就是16M,解决办法是改为int32。

进phpmyadmin,找到pre_common_usergroup_field表,找到maxattachsize字段,点右边的更改按钮(笔图标),将类型设为int保存。

再去后台看,成功保存50M的附件大小,问题解决。

Leave a Reply

Your email address will not be published. Required fields are marked *

Using REAL email address will help you receive reply notifications.