Worpress 突然登入不了怎麼辦?

2025/10/21

Categories: 技術/程式 Tags:

前言

想著很久沒更新官網了,所以來把一些過往文章先複製上去,結果,居然無法登入,一直顯示錯誤!而 Eddie 很確定那組密碼沒問題(應該啦…),但是無奈 SMTP 還沒設定好,所以沒辦法按忘記密碼來重設定。

暴力生成新帳號密碼

用 SSH 連線到伺服器之後,在 Wordpress 的資料夾建立臨時檔案 resetpw.php

nano /var/www/html/你的worpress資料夾/resetpw.php

內容是

<?php
require_once('wp-load.php'); // 載入 WordPress 環境

// 設定帳號資料
$username = 'newadmin';        // 你的帳號
$password = 'StrongPass123';   // 新密碼
$email    = 'newadmin@example.com'; // Email,可自訂

// 檢查帳號是否存在
$user = get_user_by('login', $username);

if($user){
    // 帳號存在 → 重設密碼
    wp_set_password($password, $user->ID);
    echo "帳號 '{$username}' 已存在,密碼已重設為 '{$password}'。";
} else {
    // 帳號不存在 → 新增帳號
    if(!username_exists($username) && !email_exists($email)){
        $user_id = wp_create_user($username, $password, $email);
        $user = new WP_User($user_id);
        $user->set_role('administrator');
        echo "新管理員帳號 '{$username}' 已建立,密碼為 '{$password}'。";
    } else {
        echo "無法建立帳號,帳號或 Email 已存在。";
    }
}

echo "<br>⚠️ 請完成操作後立即刪除 resetpw.php,避免安全風險!";

再到瀏覽器輸入 https://你的網域/resetpw.php

就更新好新的帳號密碼了!

上面建議輸入新的一組帳號密碼,避免一些意外發生,讓原本的帳號密碼資訊整個被洗掉。

下一步

Eddie 馬上設定好 SMTP,確定 OK 之後再到登入界面,點擊忘記密碼,走正常流程拿回帳號。

最後再執行刪除指令

rm /var/www/html/gtisland.com/resetpw.php

後記

其實 Eddie 不確定到底怎麼回事,感覺密碼應該沒錯,伺服器也沒有被攻擊的跡象,但就是突然登不進了,到底要多久沒更新官網才會忘記密碼啦!

最後,也順便裝了 Plug-in,固定時間備份網站到 Google Drive,而 Google Drive 的內容又會自動同步到我的 Nas 裡面!這下不用再怕網站被我亂操作爆掉了吧!

>> Home