阿里云的服务器 linux 服务器,php 环境,上传附件问题,记录分享一下:
开始测试的时候,都是图片,小附件,没什么问题
系统上线后,发现大的附件上传 有问题,报错 IO Error
开始检查程序,把程序里面所有的限制大小的地方全取消了,发现还是不行
拿到本地测试没有问题,,,我知道不是程序的原因了,去查服务器环境
修改 php 环境:修改php.ini
file_uploads =on
upload_tmp_dir=
upload_max_filesize=64m
post_max_size=64m
考虑到网速问题,调整了下面几个参数
max_execution_time=600
max_input_time=600
memory_limit=8m
改完重启了服务器,发现 IO Error 问题没有了,报新错误了 http error 413
查了下http error 413 (服务器拒绝处理请求,原因是请求的大小超过服务器能够处理的大小 )
原来是 nginx 限制了文件上传大小。。。nginx client_max_body_size 这个参数,会中断在nginx的请求,在php中是无法记录到访问的,默认是 1m
在nginx.conf中增加一句,client_max_body_size 30m;
重启,问题解决。