Skip to content

[已解決][WordPress] 上傳主題時發生 "The Link You Followed Has Expired" 問題

Last Updated on 2022-03-27 by Clay

問題描述

今天,當我在測試網站上試圖上傳客戶的主題theme)時,我的網站後台轉了好一陣子的圈圈,接著回報給了我下方報錯訊息:

The Link You Followed Has Expired.


這個報錯訊息實在是太含糊,導致我一時間以為是上傳的主題文件損壞、或是網路速度不佳...... 經過了重新檢查文件、重新測試網速等等的工作之後,我這才在網路上搜尋到這個問題的答案 —— WordPress 網站設定的上傳尺寸限制了主題的上傳。

什麼意思呢?其實很單純。我們可以從 Media > Add New 中查看當前網站限制的文件上傳限制:

這張圖片的 alt 屬性值為空,它的檔案名稱為 image-22-1024x298.png

從畫面中可以看到,當前網站上傳的限制為 2MB、也是 WordPress 上傳限制的預設尺寸。

如果想要調整上傳限制,可以參考我之前撰寫過的:[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.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


以上的方法修改成功之後,應該能於 Media > Add New 中看到更新後的數值:

這張圖片的 alt 屬性值為空,它的檔案名稱為 image-23-1024x239.png

如果還是無法成功修改,可能得嘗試看看其他方法。


References


Read More

Tags:

Leave a Reply