如果你在Nginx/Apache上出现413 Request Entity Too Large问题,不管使用的Linux版本是CentOS/RHEL还是Ubuntu/Debian都可以使用下面的方法解决。
背景 尝试将文件上传到网站时,你是否遇到413请求实体太大的错误,即413 Request Entity Too Large Error,当客户端发出的请求太大而Web服务器无法处理时,通常会发生这种情况,如下图:
要解决413 Request Entity Too Large Error问题,你需要调整Nginx、Apache和PHP配置,如果使用CDN,CDN配置也可能会施加此限制,因此请务必仔细检查。
更改PHP最大上载值 打开PHP配置文件,比如/etc/php.ini并修改文件的最大上传限制: upload_max_filesize = 8M max_file_uploads = 20 post_max_size = 8M 你还可以调整PHP脚本的最大执行时间和内存限制: max_execution_time = 60 max_input_time = 60 memory_limit = 128M
设置客户端主体大小(Nginx) 打开Nginx配置文件,这可以是全局nginx.conf或每个站点配置文件,设置客户端大小: client_max_body_size 8M; 然后重启nginx和php-fpm,重启命令可能会有所不同: sudo systemctl restart nginx php-fpm
设置LimitRequestBody(Apache) 如果你的Web服务器是Apache,请设置LimitRequestBody: # Set to 2 MB <Location /> LimitRequestBody 2097152 </Location> 设置所需的值即可,设置完成后重新启动Apache Web Server。 1、如果是CentOS/RHEL系统: sudo systemctl restart httpd sudo service httpd restart 2、如果是Ubuntu/Debian系统: sudo systemctl restart apache2 sudo service apache2 restart
结语 经过以上设置,重试上传你的文件,它应该会成功的,不会出现类似的错误了。
相关主题 |