前些天都是往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的附件大小,问题解决。