インポート後のログイン画面でエラーが!?All-in-One WP Migration トラブル対応

無事に最大アップロードサイズを増やしてページのインポートが完了。
WordPressのダッシュボードにアクセスしようとした時。ユーザー名やパスワードを入力するフォームはあるもののログインボタンのない、スクショのようなエラーが表示されてしまいました…。

wordpressのログイン画面のエラー

設定完了まであと少しなのに、何とか対処したいとトラブルシューティングを見たらそんなに苦もなく解決することができました。

同じ問題が出た方がいれば参考にしてみてください。
手順は以下の通りです。

  1. phpMyadminを開いて、wp_options テーブルを表示
  2. option_name カラム (フィールド) で active_plugins という行を見つける
  3. option_value フィールドの値を a:0:{} に変更する※該当箇所だけ変更

トラブルシューティングページ参考

環境

トラブルが起きた環境はこちらです。

  • Windows11
  • xampp(WordPressの環境構築完了済)
  • WordPressに、「All-in-One WP Migration」インストール済
  • テキストエディタはVSCodeを使用

前作はこちらです。

Fatal errorの文字・原因の特定

インポートが完了してページを遷移すると、インポート後はログイン画面へ移動します。
通常であればユーザー情報を入力する画面が表示されるはずが、以下のようなメッセージが。

Fatal error: Uncaught Error: Call to undefined function imagecreatetruecolor() in C:\xxxx\xxxx\xxxx\wp-content\plugins\siteguard\really-simple-captcha\siteguard-really-simple-captcha.php:181
……

……
C:\xxxx\xxxx\xxxx\wp-content\plugins\siteguard\really-simple-captcha\siteguard-really-simple-captcha.php on line 181

このサイトで重大なエラーが発生しました。対応手順については、サイト管理者のメール受信ボックスを確認してください。

WordPress のトラブルシューティングについてはこちらをご覧ください。

https://ja.wordpress.org/support/article/faq-troubleshooting/

あともう少しだったのに…。
文字の羅列で尻込みしてしまいますが、エラーの内容をよくチェックします。

よく見てみると私が遭遇したエラーの場合は、「plugins」や「siteguard」の文字が見えます。
プラグインの「siteguard」に原因がある様子。該当のプラグインを止めてしまえば、不具合が解消できそう。

エラーの末尾、トラブルシューティングのページを見ると、「phpMyAdmin を使って、すべてのプラグインを無効化できます。」とあります。なるほど。

早速やってみましょう。

phpMyadminを開く

xamppの場合は、コントロールパネルの、MySQLの項目、「Admin」のボタンをクリックするとphpMyadminにアクセスすることができます。

他にも、xamppやdockerなどの開発環境を起動した状態で、webブラウザのアドレスバーで検索するとアクセスできます。

http://localhost/phpmyadmin/
http://localhost:〇〇〇/phpmyadmin/(〇〇〇のところに設定したポート番号)

開いた画面はこんな感じ

phpMyAdminのログイン後の画面

wp_options テーブルを探す

phpMyadminを開いたら、WordPress環境構築時に作成したデータベースを左の一覧から探してクリックします。データベース内のテーブルが一覧で表示されます。

一覧から「wp_options」を探しましょう。見つけたらクリック。
すると、wp_optionsテーブルの情報が表示されます。

phpMyAdminでwordpressテーブル内のwp_optionsを開いた画面

option_name カラムがactive_plugins という行を探す

wp_optionsテーブルを開いたら、option_nameカラム(列)がactive_pluginsという行を見つけます。この時、目で見て探すのは行数が多すぎて大変なので、SQLを使うとサクッと見つけられます。

SQLのタブをクリックして、SQL文の入力画面を表示させます。

phpMyAdminでSQLタブをクリックした状態

表示させたら、以下のようにSQL文を書き換えます。

SELECT * FROM `wp_options` WHERE `option_name` = "active_plugins";

この時、画面の中のボタンでも操作可能です。

phpMyAdminでSQLタブをクリックした状態から、ブラウザ上での操作説明

画面下の「実行」ボタンをクリックします。

phpMyAdminのSQLタブで実行をクリックして変更を保存する

そうすると、active_pluginsの情報が入っている行が見つかります。

phpMyAdminでSQL文を実行した後の検索結果

option_valueの値を書き換える

あともう少し。
見つかった行を「編集」して終了です。

「編集」ボタンを押して編集画面に移動します。option_valueの値を書き換えていきます。

phpMyAdminでSQL文を実行した後の検索結果の編集方法

値には、a:*(数字):{…………}と…の中に同じような情報が複数入ってますね。一番簡単なやり方はa:0:{}に書き換えてすべてのプラグインを無効化する方法です。

phpMyAdminのデータを編集する画面、option_valueの値をa:0:{}としている

でもそうすると、必要なプラグインも止めてしまってあとでダッシュボードから全部のプラグインを有効化しないといけない…。ならいらない情報だけ消してしまえばよいです。

書き換える時は、まず「a:*(数字):{………}」の先頭の数字を削除するプラグインの数だけマイナスします。今回は、siteguardというプラグインだけを消すので1マイナスとなります。

次に、{………}の中のいらない情報を消します。一つ一つのプラグインの有効化の情報は「i:1;s:21:”polylang/polylang.php”;」という形でiから始まり;で終わっています。無効化にしたいプラグインの情報を消します。

今回は、「i:18;s:23:”siteguard/siteguard.php”;」この情報を消します。
前後の文字を消さないようによく注意してくださいね。

phpMyAdminのデータを編集する画面、option_valueの値を編集する際の操作方法

数字を変えて、{}の中の情報を編集し終えたら、画面右下の「実行」をクリックして終了です。

phpMyAdminのデータを編集して保存を実行する画面

ログインできるか確認

ログイン画面へ移動してみましょう…。

http://localhost/wp-login.php
http://localhost:〇〇〇/wp-login.php(〇〇〇のところに設定したポート番号)

wordpressの正常なログイン画面

エラーが解消されて、ログインできるようになってますね…!
これでやっとWordPressを操作できます!

さいごに

今回は、プラグインの不具合でログインできない問題だけを解消しましたが、この段階ではなんでエラーが起きたかわかりません。

複数のプラグインで問題が起きている場合は、全部無効化してから一つずつプラグインを有効化して言って原因を探っていくことになると思います。

あきらめずに頑張って対処していきましょう。

作者情報

気になった居酒屋には一人でも入店します。
初めてのお店でも常連と間違われる不思議な現象に見舞われることが…。
ビールをこよなく愛していますが、家では金麦派。