日常的web開發中,經常會遇到檔案(附件)上傳的需求。大檔案上傳報錯,幾乎每個phper都有遇到過,此文僅對大檔案上傳需要注意的一些引數說明。
php環境(php.ini):
post_max_size = 8M (最大 POST 資料大小);
upload_max_filesize = 2M (上傳最大檔案大小);
memory_limit = 128M (傳統模式為PHP分配的最大記憶體);
max_input_vars = 1000 (限制 $_GET、$_POST、$_COOKIE 超全域性變數分配的最大變數數);
web伺服器環境:
web伺服器很容易被人忽略掉,然而“檔案上傳”乃至“所有請求”都是先傳送web伺服器,再由web伺服器與php進行互動通訊。
這裡只寫apache、nginx相關,使用其他web服務的自行參考相關官方說明。
Apache: LimitRequestBody 0 (預設不限制,檔案:httpd.conf);
Nginx: client_max_body_size 1m (預設限制1m,不同版本可能有所不同,檔案:nginx.conf);
本作品採用《CC 協議》,轉載必須註明作者和本文連結