最近在用fastadmin 遇到这个上传文件的错误花了点时间解决。
因为在本地是可以用的,但到了服务器就报错了,所以原因肯定出在配置上。
首先查看php.ini中的文件上传的几个相关配置:
file_uploads = on ;是否允许通过HTTP上传文件的开关。默认为ON即是开
upload_max_filesize = 50m ;允许上传文件大小的最大值。
post_max_size = 50m ;指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。
我发现都是开着的,并且我的文件很小不可能超过50M,没办法查了各种文章都只说了这几个配置,我只能重新回到报错查看。
打印$_FILES发现tmp_name为空,error 为6
我回到php.ini 把upload_tmp_dir 配置改为upload_tmp_dir = /tmp 并在open_basedir中也加上 /tmp
这样就完美解决了