WordPress バージョンアップ後ログイン時に「データベースの更新が必要です」 2024.08.07WordPress バージョンアップ後、管理画面にログインしようとしたら「データベースの更新が必要です」の画面が表示されたときの対応方法 原因を調べてみるこのままではログインできないので原因を調べてみました。 そもそもなぜ「データベースの更新が必要です」というメッセージが表示されるのかというと、WordPressのファイルで定義されているデータベースバージョン値と、DBに入っているデータベースバージョン値が異なるからです。 WordPressのアップデートをおこなうと、(データベースのバージョンが上がる場合)まずはファイルで管理されているデータベースバージョン値(/wp-includes/version.php内に記載)が更新されます。 その後、ログイン画面を開いた際に、ファイルの値とDBに保存されている値(wp_postmetaテーブルにmeta_key「db_version」として保存されています)を比較して差分があればWordPressは「データベースの更新が必要だ!」と認識してメッセージを表示します 「データベースの更新が必要です」無限ループを解決|WordPressエラー復旧事例 (tsukuriba.co.jp)具体的にどうするか違うなら同じにすりゃあいいじゃん!ってことになりますが、じゃあ具体的にどうするか? version.phpの値を現在のデータベースの値(56657)に書き換えてアップロードする。 現在のデータベースの値を書き換える。(56657)から(57155)に。 WordPressのバージョンを前のバージョンに戻す。(6.5を6.4.3にダウン)上記を思いつきましたが、どれも実用的な方法とはいえません。 WordPressの更新の度に書き換えたversion.phpをアップロードしなくてはならない。 データベースを自身で書き換えるのは(データベースを)壊してしまうリスクがあり危険すぎる。 前のバージョンに戻しても自動更新機能で更新されるのでEasy Updates Managerなどのプラグインで管理が必要。つまり、WordPressにデータベースを更新させればよいわけで、むしろ着目すべき点は「MySQL 5.5.5以上」が必要だと表示される点にあります。データベースバージョン値 (57155)はそのままに、MySQLバージョン値を下げて書き換えたversion.phpをアップロードしてあげれば、「データベースの更新が必要です」の画面が表示されても「WordPressデータベースを更新」ボタンを押せばデータベースが更新されてログイン画面が表示されます。/** * Holds the required MySQL version. * * @global string $required_mysql_version */ $required_mysql_version = ‘5.5.5’;上記を/** * Holds the required MySQL version. * * @global string $required_mysql_version */ $required_mysql_version = ‘5.0’;に書き換えたversion.phpをアップロードしてあげます。データベースバージョン値が更新されたのを確認できます。書き換えたversion.phpをアップロードするというひと手間がありますが、最もリスクが低い方法だと思いますがいかがでしょうか。 前の記事へ 次の記事へ