要允許網站上傳超大檔案,需要修改 PHP、Web 伺服器(如 Nginx 或 Apache)的相關配置。以下是詳細的步驟:
1. 修改 PHP 配置
-
找到
php.ini
檔案:- 通常位於
/etc/php/7.x/fpm/php.ini
或/etc/php/7.x/cli/php.ini
(根據您的 PHP 版本和安裝方式不同,路徑可能有所不同)。
- 通常位於
-
修改
upload_max_filesize
和post_max_size
:- 開啟
php.ini
檔案,找到以下兩個配置項並修改:upload_max_filesize = 2000M post_max_size = 2000M
upload_max_filesize
控制單個檔案的最大上傳大小。post_max_size
控制整個 POST 請求的最大大小,通常應大於或等於upload_max_filesize
。
- 開啟
-
儲存並重啟 PHP:
- 儲存
php.ini
檔案。 - 重啟 PHP-FPM 服務(如果使用 PHP-FPM):
sudo systemctl restart php7.x-fpm
- 或者重啟 Web 伺服器(如 Apache):
sudo systemctl restart apache2
- 儲存
2. 修改 Nginx 配置
-
找到
nginx.conf
檔案:- 通常位於
/etc/nginx/nginx.conf
。
- 通常位於
-
修改
client_max_body_size
:- 開啟
nginx.conf
檔案,在http
塊中新增或修改以下配置:http { ... client_max_body_size 20000M; ... }
client_max_body_size
控制客戶端請求的最大大小。
- 開啟
-
儲存並重啟 Nginx:
- 儲存
nginx.conf
檔案。 - 重啟 Nginx 服務:
sudo systemctl restart nginx
- 儲存
3. 修改 Apache 配置
-
找到
httpd.conf
檔案:- 通常位於
/etc/httpd/conf/httpd.conf
或/etc/apache2/apache2.conf
(根據您的作業系統和安裝方式不同,路徑可能有所不同)。
- 通常位於
-
修改
LimitRequestBody
:- 開啟
httpd.conf
檔案,找到或新增以下配置:LimitRequestBody 1048576000
LimitRequestBody
控制請求體的最大大小,單位為位元組。例如,1000M 即 1048576000 位元組。
- 開啟
-
儲存並重啟 Apache:
- 儲存
httpd.conf
檔案。 - 重啟 Apache 服務:
sudo systemctl restart apache2
- 或者:
sudo systemctl restart httpd
- 儲存
注意事項
-
安全性:
- 允許上傳超大檔案可能會增加伺服器的負載和安全風險。建議在生產環境中謹慎調整這些配置,並考慮使用其他方法(如分片上傳)來處理大檔案上傳。