PHP 大文件上傳佔用大量資源,所以須要對上傳的大小進行限制,如下爲相關的三個參數:php
client_max_body_size
upload_max_filesize
post_max_size
與以上相對應的三個報錯信息:nginx
Warning: POST Content-Length of 9663102 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
$_FILES['file']['error']==1
client_max_body_size
用於設置客戶端 Request body(請求體)的大小上限,要上傳的文件就在 body 體 中,因此此參數能夠間接的看作是對文件上傳大小的限制。服務器
nginx 服務器經過請求頭的 Content-Length
肯定 body 體的大小。超過設置的上限會返回錯誤碼 413 Request Entity Too Large,將此參數設置爲 0 能夠取消對長度的限制。post
Syntax: client_max_body_size size; Default: client_max_body_size 1m; Context: http, server, location
client_max_body_size
能夠設置在 http、server、location 塊中,因此咱們能夠對域名甚至一個請求地址來提升上傳包的大小值。code
Warning: POST Content-Length of 9663102 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
此時爲上傳文件大小大於 post_max_size
。server
此時 $_FILES['file']['error']==1
,錯誤緣由是上傳文件的大小小於 post_max_size
可是大於 upload_max_filesize
。資源