0%

正威網路行銷工作室,專注於基隆、台北與全台客製化網頁設計,提供專業 RWD 響應式、SEO 搜尋引擎優化、品牌形象設計與網站維護託管服務。

搜尋文章
聯絡資訊
地址基隆市仁二路 220 號 5 樓
追蹤我們

WordPress 更新出現「目前正在執行另一項更新程序」怎麼辦?

WordPress 更新出現「目前正在執行另一項更新程序」怎麼辦? 封面

在 WordPress 後台的「控制台 → 更新」頁面按下更新,等了一下,畫面上只出現一行字:

目前正在執行另一項更新程序。

(英文版是「Another update is currently in progress.」)

明明只有你在操作,哪來的另一項更新?這篇說明這個訊息是怎麼來的,以及什麼時候等一下就好、什麼時候要自己動手。

「目前正在執行另一項更新程序」是怎麼來的

WordPress 在更新核心程式的時候,會先在資料庫裡放一把「鎖」:在 wp_options 資料表新增一筆名為 core_updater.lock 的設定,內容是開始更新的時間。

這把鎖的用途,是避免兩個更新同時進行。例如兩位管理員同時按了更新,或背景的自動更新剛好和你手動更新撞在一起,兩邊同時改寫檔案,網站很容易壞掉。所以第二個想更新的人,看到鎖還在,就會收到「目前正在執行另一項更新程序」,不會被允許開始。

正常情況下,更新一結束,WordPress 就會把鎖拿掉。會一直卡著,通常是上一次的更新中途斷掉了:更新到一半關掉了頁面、主機逾時、網路中斷,鎖就留在資料庫裡。

先等 15 分鐘

WordPress 的原始碼裡,核心更新這把鎖的有效時間是 15 分鐘。15 分鐘後,WordPress 會把它當成過期的鎖,自動清掉,重新開始更新。

我們在測試站實測:把鎖的時間設成 1 分鐘前、14 分 59 秒前,都拿不到鎖;設成 15 分 5 秒前、1 小時前,WordPress 就自己把舊鎖清掉,重新拿到鎖。鎖還在的時候照後台的更新流程執行,回應的就是「目前正在執行另一項更新程序。」

所以看到這個訊息,最簡單的做法是等 15 分鐘,再重新按一次更新。如果確實有另一位管理員正在更新,也剛好可以等他更新完。

超過 15 分鐘還是一樣:刪掉這把鎖

等了 15 分鐘以上還是一樣,可能是鎖的時間記錄異常(例如主機的時間被調整過),可以手動刪掉。

用 phpMyAdmin:在主機控制台打開 phpMyAdmin,選網站的資料庫,打開 wp_options 資料表(前綴不一定是 wp_,看 wp-config.php 裡的 $table_prefix),找到 option_name 是 core_updater.lock 的那一筆,刪掉。動資料庫之前,先備份。

用 WP-CLI:主機有提供 SSH 和 WP-CLI 的話,在網站目錄執行一行指令就可以:

Shell / 終端機
wp option delete core_updater.lock

刪掉之後,回到「控制台 → 更新」重新更新一次。

更新中斷過,要檢查這些事

這把鎖會留下來,代表上一次的更新曾經中斷。鎖解開之後,還有幾件事要確認:

網站是不是卡在維護模式。更新中斷時,網站根目錄可能留下 .maintenance 檔案,網站會一直顯示「目前網站因例行性維護而暫時無法存取」,處理方式在〈WordPress 出現「目前網站因例行性維護而暫時無法存取」怎麼辦?〉。

WordPress 的版本有沒有更新成功。到「控制台 → 更新」看目前的版本,如果檔案只換了一半,網站出現怪怪的錯誤,可以在同一頁按「重新安裝」,把核心檔案完整重新安裝一次。

網站打不打得開、後台正不正常。如果出現「這個網站發生嚴重錯誤」,處理方式在〈WordPress 出現 500 錯誤怎麼辦?〉。

下次更新,避免卡住

這個訊息本身不危險,但它代表上一次的更新曾經被打斷,所以重點是讓更新順利跑完:按下更新之後,留在那個頁面等到出現完成的訊息再離開;一個網站有好幾位管理員的話,先說好由誰負責更新,避免兩個人同時按。更新之前也要有備份,萬一更新失敗才能還原,做法在〈網站備份怎麼做?〉。

自動更新怎麼設定比較安全,在〈WordPress 自動更新怎麼設定?〉。

正威網路行銷是 25 年經驗的基隆網頁設計工作室,網站管家年費包含系統、外掛與安全性更新和每日備份,台北與全台客戶也歡迎免費諮詢。

分享這篇文章

返回文章列表更多「Wordpress代碼教學」文章

發表留言

還沒有人留言,歡迎第一個分享你的想法或問題。留言經審核後才會顯示,Email 不會公開。

讓我們一起打造
您的專屬網站!