この記事は約3分で読めます。
本文は約1701文字です
サーバー移転でQuery Monitorの致命的なエラーが発生した時の解消方法
Query Monitorというプラグインがあるのはご存知でしょうか?
Query MonitorはWordpressサイトの様々な情報を確認できるプラグインで、Wordpressサイトの動きを把握するのにとても便利な機能を持っています。
Query Monitorをインストールしたサイトをサーバー移転、と言っても実際は同一サーバーで別ドメインに移転した時に移転後に致命的なエラーが発生してしまいました。
最初は理由がわからず、途方に暮れたのですが、原因がわかったのでメモしておきたいと思います。
![](https://ps.w.org/query-monitor/assets/banner-772x250.png?rev=2457098)
All in One WP Migrationのインポートが終わらない
移転先のプラグインをすべて無効化してPHPバージョンなども合わせた上で、All in One WP Migrationでインポートするのですが、インポートが終わりません。
そのまま再読み込みすると、Query Monitorの致命的なエラーでサイトが表示できません。
何度やっても同じ結果になりました。
ただ、エラーが出た後にQuery Monitorを削除すると、サイトは正常に表示されます。
このことから、ファイルのコピーとDBのインポートは正常に終わっているようでした。
試しに、移転元でQuery Monitorを無効化してから移転すると、インポートは完了しますが、その後、Query Monitorを有効化すると同じエラーになります。
つまるところ、移転先のサイトでは、移転元のサイトと何らかの違いにより、Query Monitorを有効化したタイミングでエラーになるということです。
移転元のサイトと移転後のサイトで何が違うのかを吸収できれば、問題は解決するハズです。
Query Monitorのエラー内容
サポートフォーラムにあるこの内容と同じでした。
composerの依存関係が壊れているような内容です。
[18-Apr-2023 13:09:47 UTC] PHP Fatal error: Cannot declare class ComposerAutoloaderInitfaf42c5f235c65e8397793ae676be6da, because the name is already in use in /Users/nicb/_htdocs/mybricks2023/wp-content/plugins/query-monitor/vendor/composer/autoload_real.php on line 5
![](https://s.w.org/images/home/wordpress-default-ogimage.png)
エラーの原因
Query Monitorは、プラグインを削除してもドロップインにdb.php
を残してしまいます。
このファイルはシンボリックリンクなのですが、サイト移転時にコピーしてしまうと、前のサイトにリンクが張られたままになってしまいます。
リンク先が自分のサイトではないので、Query Monitorがエラーとなります。
![](https://stilltalkintv.com/wp-content/uploads/2024/05/image-1024x417.png)
FTPなどでdb.phpを削除すれば解決する
Query Monitorを削除した後に、db.phpも削除します。
db.php
があるのは、wp-content
の直下です。
FTPやファイルマネージャーなどを使って、db.phpを削除しましょう。
その後、Query Monitorを再度インストールします。
ファイルを消しても、キャッシュの影響でエラーがすぐに解消しないことがありますが、しばらく時間を置くとエラーが解消します。
まとめ
Query Monitorで原因不明のエラーが出てサイトが表示できなくなったら、db.phpを疑いましょう。
Query Monitorで原因不明のエラー解消手順
- Query Monitorを削除する
- db.phpを削除する
- 時間を置いて、Query Monitorを再インストールする
コメント