用PHP上传文件,在开发环境都没有问题,上传到线上环境遇到一些问题,主要是比较大的文件会出问题。
遇到了以下几个问题:
问题1:$_FILES 变量取到的文件内容报错,error=1.
[2019-11-21 10:50:50]{"name":"86Resource.zip","type":"","tmp_name":"","error":1,"size":0}
查阅手册得知错误码代表的信息:
UPLOAD_ERR_INI_SIZE
其值为 1,上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
解决方案:
修改 php.ini 中upload_max_filesize 选项的值,调大即可。
ps:可以使用
php --ini
命令查看当前加载的配置文件路径。
问题2: $_FILES 变量直接为空
网上查了查,发现是另一个参数设置小了。 解决方案:
修改php.ini 里post_max_size选项的值,调大即可。
问题3:413 Request Entity Too Large
解决办法:
设置 nginx.conf 里 client_max_body_size 值的,调大即可。
ps:但是不知道为啥明明设置的8兆,我传12兆的也可以,没报错。还有待研究。