我想將大型檔案上傳到 Amazon Lightsail Bitnami WordPress 執行個體上。如何增加執行個體的預設檔案上傳限制?
簡短描述
Upload_max_filesize 是上傳檔案的最大大小。這是單一檔案的限制。另一方面,Post_max_size 是請求的整個主體的限制。最佳實務是將 post_max_size 設定為大於或等於 upload_max_filesize。
依預設,WordPress 將 post_max_size 和 upload_max_filesize 的上傳限制為 40 MB。
若要驗證 Lightsail 執行個體上的上傳上限,請執行以下命令:
# grep -i "upload_max_filesize" /opt/bitnami/php/etc/php.ini
upload_max_filesize = 40M
# grep -i "post_max_size" /opt/bitnami/php/etc/php.ini
post_max_size = 40M
解決方案
若要修改上傳大小上限,請執行以下列操作:
1. 開啟 /opt/bitnami/php/etc/php.ini 檔案以增加 upload_max_filesize 和 post_max_size。使用文字編輯器 (如 vi 編輯器) 存取 /opt/bitnami/php/etc/php.ini 檔案。
# sudo vi /opt/bitnami/php/etc/php.ini
; Maximum size of POST data that PHP will accept.
post_max_size = 64M
; Maximum allowed size for uploaded files.
upload_max_filesize = 64M
2. 按下 i 按鈕以編輯值。修改值之後,按下 ESCAPE 按鈕來儲存檔案。然後,輸入命令 :wq!
3. 使用下列命令,驗證 Apache 組態檔案中指定了 LimitRequestBody 參數:
# grep "LimitRequestBody" /opt/bitnami/apache2/conf/httpd.conf
如果未指定參數,則 Apache Web 伺服器組態限制沒有大小限制。但是,如果指定參數且值小於所需的上傳大小,請執行以下動作來增加參數:
在文字編輯器 (如 vi 編輯器) 中開啟 /opt/bitnami/apache2/conf/httpd.conf:
# sudo vi /opt/bitnami/apache2/conf/httpd.conf
將 LimitRequestBody 參數設定為新值 (以位元組為單位),如以下範例所示:
LimitRequestBody 65536
按下 ESCAPE 按鈕,然後輸入命令 :wq! 以儲存檔案。
4. 先檢查組態詳細資訊,然後再重新啟動服務:
sudo apachectl configtest
Syntax OK
5. 重新啟動伺服器,以使變更生效。
sudo /opt/bitnami/ctlscript.sh restart