Last Updated on 2022-03-27 by Clay
大部分 WordPress 網站、伺服器都有設定上傳檔案尺寸限制,以我為例,我最新架設的網站上傳上限是 2MB。
但我想經營的那個網站是個『分享最新遊戲資訊』的『情報網站』啊!情報網站怎麼可以不附上最新的遊戲畫面截圖呢?而那最新、最精美的圖片,又怎麼可能只用 2MB 的大小呈現得了呢?
所以,我開始嘗試著修改 WordPress 的網站上傳尺寸上限。
修改上傳尺寸限制
網路上通常找得到三種方法,我會一併記錄如下,並加上我自己成功的修改方法:
- 修改 functions.php (對我而言不起作用)
- 修改 .htaccess (這個方法對我沒用)
- 修改 php.ini (我沒有這個檔案)
- 添加設定於 docker-compose.yml (適用於跟我一樣使用
docker-compose
架設 WordPress 的使用者)
方法一:修改 functions.php 文件
functions.php 這份檔案應該位於佈景主題資料夾中。
在文件底部添加:
@ini_set( 'upload_max_filesize', '20M' ); // 單一檔案大小上限
@ini_set( 'post_max_size', '20M'); // POST 資料大小上限
@ini_set( 'memory_limit', '64M' ); // 記憶體上限
@ini_set( 'max_execution_time', '300' ); // 執行時間上限(s)
方法二:修改 .htaccess 文件
.htaccess 這份檔案應該位於網站根目錄底下。
同樣在內部添加:
@ini_set( 'upload_max_filesize', '20M' ); // 單一檔案大小上限
@ini_set( 'post_max_size', '20M'); // POST 資料大小上限
@ini_set( 'memory_limit', '64M' ); // 記憶體上限
@ini_set( 'max_execution_time', '300' ); // 執行時間上限(s)
方法三:修改 php.ini 文件
php.ini 這份檔案並不是單純添加設定,而是找到對應的設定修改值。
upload_max_filesize = 20M
post_max_size = 20M
memory_limit = 64M
max_execution_time = 300
方法四:添加設定於 docker-compose.yml
後來我突然想起,我當初部署網站上線時是使用 docker-compose
來部署的,而這項工具本身就不會有 php.ini 這個檔案。
隨即我更改關鍵字,並尋找在 docker-compose
中的方法,最終終於成功了。
首先在我當初部署的 docker-compose.yml 同一目錄底下新增了 uploads.ini 檔案,並在裡頭寫入:
file_uploads = On
memory_limit = 500M
upload_max_filesize = 500M
post_max_size = 500M
max_execution_time = 600
接著在 docker-compose.yml 中增加:
volumes:
- ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
這個 volumes 的架構是位於:
services:
└ wordpress:
└ volumes:
接著執行以下程式:
sudo docker-compose up -d --build
我的上傳檔案上限就成功提升了!
References
- https://www.viralpatel.net/local-wordpress-docker/
- https://kinsta.com/blog/increase-max-upload-size-wordpress/
- https://www.cloudways.com/blog/increase-media-file-maximum-upload-size-in-wordpress/
Pingback: [WordPress] 調整上傳檔案尺寸上限 - 新手筆記.59