今天遇到一个问题,文件上传一直是正常的,可以部署到生产环境后,发现有时可以,有时报错。根据提示
fopen(): Filename cannot be empty
我猜测可能是文件大小有限制,所以尝试去修改nginx服务器参数。
补充:413错误处理也是同样的
413错误,查看log文件,显示的错误信息是:“413 Request Entity Too Large”
修改nginx.conf
首先,打开nginx主配置文件nginx.conf,找到http{}段,增加client_max_body_size
的相关设置, 这个值默认是1m,可以增加到8m以增加提高文件大小限制。
我设置成了8m,
client_max_body_size 8m;
当然你还可以设置其它参数
client_body_buffer_size 128k; proxy_connect_timeout 600; proxy_read_timeout 600; proxy_send_timeout 6000; proxy_buffer_size 16k; proxy_buffers 64k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k;
修改php.ini
如果运行的是php,还需要修改php.ini,把下面两个值设为更大一些,这个client_max_body_size
需要与下列参数的最大值一致或者稍大。
post_max_size = 8M upload_max_filesize = 8M
重启nginx
1、重启php-fpm
service php5-fpm reload
2、重启nginx
service nginx -s reload