【WordPress+SQLite】「MySQL 5.5.5 以上が必要です」というエラーを自動的に解消する

2024/04/12に公開

WordPressでSQLiteを使っている方へ参考になったらと思い、対処法を記録しておきます。

WordPressのバージョンが自動的に6.5.2にアップデートされた時、

エラー: WordPress 6.5.2 には MySQL 5.5.5 以上が必要です

というエラーが出てきました。

この対処法として、テーマファイルとfunction.phpに以下のコードを追加するだけで解消します。

/* SQLite用データベースのバージョン更新関数 */
function my_update_db_version() {
  global $wpdb;
  global $wp_db_version;
  
  $dbversion = $wpdb->get_var( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = %s", 'db_version' ) );
  
  if ( $dbversion === null || $wp_db_version !== intval( $dbversion ) ) {
    $wpdb->update(
      $wpdb->options,
      array( 'option_value' => intval( $wp_db_version ) ),
      array( 'option_name' => 'db_version' )
    );
  }
}
add_action( 'init', 'my_update_db_version' );

これまでも、WordPressのバージョンがアップされた際「データベースの更新が必要です。」という画面が出てきて、更新しようとすると「重大なエラーが発生しました。」となり悩ませていました。そのたびに手作業で、「wp-includes/version.php」ファイルの「wp_db_version」の値を見て、DB Browser for SQLiteというソフトを使い、直接データベースのdb_versionの値をwp_db_versionの値に変えることで対処してきたのですが、上記のコードを作ったことで、今後直接変える必要が無くなり作業が楽になりました。

参考:https://rail20000.jpn.org/wp/2024/04/06/wordpress/

Discussion