nginx:413 Request Entity Too Large的处理办法–修改 PHP上传文件大小

在nginx中,413 Request Entity Too Large错误表示请求体过大,超过服务器设置的client_max_body_size限制。要修复此错误,主要有两种方法:

1. 修改nginx配置,增大client_max_body_size值可以在nginx的配置文件nginx.conf中,http段或sever段添加client_max_body_size设置,如:

http {
    client_max_body_size 100m;  #允许最大体积为100MB
}

server {
    client_max_body_size 200m; #该server允许最大体积为200MB 
}

然后重新加载nginx配置:

shell
nginx -s reload

2. 修改PHP配置,增大upload_max_filesize和post_max_size值因为请求体过大通常出现在文件上传请求,可以修改PHP的php.ini配置文件,增大与文件上传相关的配置值:

upload_max_filesize = 100M
post_max_size = 200M

然后重启PHP服务使配置生效。一般情况下,要同时调整nginx与PHP两个地方的配置值。nginx的client_max_body_size值要大于等于PHP的post_max_size值;PHP的upload_max_filesize要小于等于post_max_size的值。推荐的配置值为:

#nginx
client_max_body_size 200M;  

#PHP
upload_max_filesize = 100M 
post_max_size = 200M

当然,具体设置多大值还需要根据服务器性能与业务需求进行判断。另外,如果是在LNMP(Linux+Nginx+MySQL+PHP)环境下,还需要重启PHP-FPM服务:

shell
service php-fpm restart

以重新加载PHP配置。

通过以上两种方法,可以有效解决nginx中的413 Request Entity Too Large错误。当然,此错误也可能由其他原因产生,如果上述方法无效,还需要进一步检查请求体的格式与大小是否符合要求。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论