マルチサイトをテスト用に下層で作成した後、ルートに変更する必要がある案件がありまして。マルチサイトは情報が少なめなので、慎重に手作業でwp-config.phpの修正をし、データベースの修正を行ったところ、正しい接続情報を設定しているにも関わらず、データベース確立エラーが吐き出されました・・・ショック。

データベースの変更箇所は主に下記です。
シングルサイトの場合に見かけないテーブルなので、慣れた方が見ると予想がつきます。

テーブル名対象の値
wp_optionsoption_name「siteurl」のoption_valueの値
wp_〇〇_options(サイトごと)option_name「siteurl」のoption_valueの値
wp_blogsdomainの値
wp_sitedomainの値
wp_sitemetameta_key「siteurl」のmeta_valueの値
wp_usermetameta_key「source_domain」のmeta_valueの値

あまりないエラーケースなので、調査開始です。

下記のサイトに答えがありました!!
https://ht79.info/2018/01/10/wordpress-multisite-database-connection-error/

wp-includes/ms-load.php の ms_load_current_site_and_network のところで、アクセスしてきたURLがwp_blogsテーブルのdomainとpathにマッチするかチェックしています。
wp_blogs テーブルの、domain と path を確認する。ここが間違っていました。

同じようなことが起こった場合は、
wp_blogs のdomain と path を確認したところ、domainは「●●.com」であっていましたが、pathに「/フォルダ名/」という余計なものが残ったままでした。これを外したところ、無事データベース接続できました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です