选择上传图片时,选择图片类型的文件,而不是其他类型的。
第二类,服务器限制。
当上传文件后提示:
1.服务器限制无法上传那么大的附件
检查下PHP的相关设置。php.ini中的upload_max_filesize,post_max_size两个变量的值是否小于上传文件的大小。
2.附件文件无法保存
Discuz! data目录是否具有读写权限,建议设置data目录包括其子目录权限为777
第三类,其他错误。
除了以上的常规错误之外,还有一些其他疑难症状出现,在此做一个收集和汇总:
特例一:
出现状况:
1.服务器环境:iis+php,小文件上传成功,大文件上传失败,表现为有上传进度,而到最后提示上传失败。
排查情况:
1.Discuz! 程序无修改,正常。
2.后台上传限制关闭,正常。
3.服务器目录权限正确,正常。
4.服务器上传大小限制变量设置正确,正常。
5.上传文件本身没有问题,正常。
按理来说,一切配置都没有问题,为什么上传还是提示失败呢?
原因分析:
为了验证原因,我们跟随程序排查,发现并没有进入php程序的上传流程,而是在上传到服务器临时目录的过程中返回了一个错误:
- The FastCGI process exceeded configured
原来是FastCGI进程超时了
解决方法:
找到FastCgi的配置文件“fcgiext.ini”,位于目录“C:\WINDOWS\system32\inetsrv”下。
在“fcgiext.ini”最末php的配置内容下增加一些参数(如原先就有参数,则对原有参数做修改),修改如下:
- [Types]
- php=PHP
- [PHP]
- InstanceMaxRequests=10000
- EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000
- RequestTimeout=500
- ActivityTimeout=900
以上是文件上传可能失败的原因和解决方法,可能有疏漏,望有识之士指出~