前言
公司需要在商品详情页放上视频,所以就做了一个视频上传的功能。
做完测试时,发现 Nginx
直接报错了:413 Request Entity Too Large
。
原因
Nginx
的上传文件的默认大小是 1M
,PHP
的上传文件的默认大小是 2M
。
而我上传的文件大小是 3.1M
。
解决方案
这里用的
PHP7.0
修改 Nginx
配置
# 修改 nginx.conf
sudo vim /etc/nginx/nginx.conf
# 添加 client_max_body_size
...
http {
...
client_max_body_size 10M;
...
}
...
修改 PHP
配置
# 修改 php.ini
sudo vim /etc/php/7.0/fpm/php.ini
# 修改 upload_max_filesize
...
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
; http://php.net/upload-tmp-dir
;upload_tmp_dir =
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 10M
...
在试验 9.3M
视频的时候,发现 $_FILES
没有任何内容,查了一下,原来是 PHP
post的最大值小于当前值。
# 修改 php.ini
sudo vim /etc/php/7.0/fpm/php.ini
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
post_max_size = 10M
重启 Nginx
和 PHP-FPM
服务
sudo service nginx restart
sudo service php7.0-fpm restart
结语
有很多问题在有新的需求后会爆发出来,这是好事,会让我们持续不断进步。
-- EOF --
本文转载自IMJCW
原文链接:413 Request Entity Too Large
网友评论