一、错误问题汇总
1、服务器 I/O 错误
带宽太小,文件太大
2、上传错误413 Request Entity Too Large
此错误表示上传的实体太大,被服务器拒绝了,需要配置服务器大小
3、未设置文件大小
图中的0MB表示你没有设置文件大小,需要在自定义字段中设置大小。
4、相关错误代码
upload_file_exceeds_limit 上传的文件超过了PHP配置文件中允许的最大大小。
5、游客无法上传
检查服务器的POST值和上传值,POST值一定要大于上传值。
6、百度编辑器不能上传:后端配置没有正确加载
http://www.xunruicms.com/v3doc/2414.html
7、百度编辑器不能上传:http请求错误
参考下面章节的:服务器限制文件上传大小
还有中可能是被服务器安全机制拦截了,可能是不安全的文件,换一个文件试试
二、配置说明
1、php.ini的相关配置
php.ini文件位置不固定,每个主机的目录不一样,需要咨询服务商此文件的位置
查找post_max_size
表单提交最大数值,此项不是限制上传单个文件的大小,而是针对整个表单的提交数据进行限制的 默认为8M,设置为自己需要的值,此参数建议要设置比upload_max_filesize大一些
查找upload_max_filesize
允许上传文件大小的最大值,默认为2M,设置为自己需要的值此参数建议不要超过post_max_size值,因为它受控于post_max_size值(就算upload_max_filesize设置了1G,而post_max_size只设置了2M时,大于2M的文件照样传不上去,因为它受控于post_max_size值)
查找max_input_vars
用来限制提交的表单数量,默认值为 1000, 如果你网站栏目太多的话,而且需要配置用户权限的时候会发现无法保存,这时候说明这个值太小了,设置10000一般够用。
查找post_max_size
表单提交最大数值,此项不是限制上传单个文件的大小,而是针对整个表单的提交数据进行限制的
默认为8M,设置为自己需要的值,此参数建议要设置比upload_max_filesize大一些
查找File Uploads
是否允许通过http上传文件的开关,确认file_uploads = on
查找upload_tmp_dir
文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹
如果系统报错提示有“XXX临时目录XXX”的话,这个目录就需要你来设置一个有效目录,没报错就不用管
查找upload_max_filesize
允许上传文件大小的最大值,默认为2M,设置为自己需要的值此参数建议不要超过post_max_size值,因为它受控于post_max_size值(就算upload_max_filesize设置了1G,而post_max_size只设置了2M时,大于2M的文件照样传不上去,因为它受控于post_max_size值)
如果要上传大于8M的文件,还需要对下面的参数也进行设置:
查找max_execution_time = 600 ;每个PHP页面运行的最大时间值(秒),默认30秒
max_input_time = 600 ;每个PHP页面接收数据所需的最大时间,默认60秒
memory_limit = 8M ;每个PHP页面所需要的最大内存,默认8M
2、服务器限制文件上传大小
IIS配置
打开IIS管理器,找到Default Web Site。先进行停止。 在IIS中双击“请求筛选”打开。 点击右边的“编辑功能设置”,打开“编辑请求筛选设置”对话框。 其中的允许的最大容量长度,默认是”30000000“,30M,将其修改为你所需要的大小即可。 启动IIS.
Nginx配置
修改nginx.conf中的http段: client_max_body_size 1024m; #我这里是1024MB
Apache配置
可以在 .htaccess 或 httpd.conf 加入以下语句:
LimitRequestBody 1024000000