在 Nginx 下如果用 PHP 上传档案时, 有时会出现以下报错:
Nginx 413 Request Entity Too Large
出现 Error 413 的原因是访客浏览网页时, 传送过多的 HTTP 请求, 一般在上传档案时出现, 解决方法是修改 Nginx 的 上传限制, 这个可以透过 Nginx 的 client_max_body_size 设定。
client_max_body_size 是用作设定访客最多可以传送多少资料, 如果访客传送到 Nginx 的资料超过这个限制, 便会出现 413 Request Entity Too Large 错误, 而这个参数的默认值是 1MB。要修改首先开启 Nginx 的设定档 nginx.conf:
# vi /etc/nginx/nginx.conf
或者
# vi /usr/local/nginx/conf/nginx.conf
可以在 http, server 或 location 其中一个 block 加入 client_max_body_size 设定, 例如我想改为 20MB:
|
1 |
client_max_body_size 20M; |
储存盘案后离开文字编辑器, 然后重新启动 Nginx:
# service nginx reload
或者
# /usr/local/nginx/sbin/nginx -s reload
或者
# /sbin/nginx -s reload
如果出现上面问题的地方, 是 PHP 上载档案的部份, 需要连同 PHP 的上载限制一同修改, 开启 php.ini 档案:
找到 upload_max_filesize, 设定为 20MB:
upload_max_filesize = 20M
找到 post_max_size, 设定为 30MB:
post_max_size = 30M
储存盘案并离开文字编辑器, 然后重新启动 Nginx 便可以了。