解决上传大文件失败的问题

我们的app管理平台,上传超过50M的app包时会失败,查了一下是nignx.conf中配置小了,修改之后问题解决。顺便整理了与此相关的配置(来自于网络):

1. nginx.conf

client_max_body_size 200m

限制请求体的大小,默认是1m,可根据需求设置成100m、200m等。如果不想要限制,设置为0。飘黄部分说明,当上传大文件因为这个配置的限制而上传失败时,服务器不能给出准确的错误提示。

配置项含义:“Sets the maximum allowed size of the clientrequest body, specified in the “Content-Length” request header field. If thesize in a request exceeds the configured value, the 413 (Request Entity TooLarge) error is returned to the client. Please be aware that browsers cannot correctly displaythis error. Setting size to 0 disables checking of client request bodysize.”


2.   php.ini

max_execution_time = 3600,单位秒

php脚本被解析器中止之前允许的最大执行时间,默认时间30s,设置为0则无限制(注意:仅php,你的http服务器还会有超时限制)。
max_input_time = 300,单位秒

脚本解析输入数据(类似 POST 和 GET)允许的最大时间,单位是秒。 它从接收所有数据到开始执行脚本进行测量的。

上面两个是关于时间的限制,当你的上传速度比较慢,文件过大则需要看相关配置是否满足需求。
memory_limit = 256M

php脚本可使用内存
post_max_size = 150M

post数据允许的最大限制,一般要求memory_limit>post_max_size
file_uploads = On

允许上传文件
upload_max_filesize = 100M

上传的单个文件最大限制,一般要求upload_max_filesize>=post_max_size


你可能感兴趣的:(解决上传大文件失败的问题)