[WordPress]サイトに技術的な問題が発生しています、に対処した時の記録(WP Security Audit LogをアップデートしたらLogin rebuilderプラグインにエラーが発生!?)
エラーメール
本事象が発生した場合、WordPress 5.2からエラーメールが届く様です。が、、私の本番サイトは、ガッチガチにセキュリティを固めている為か、メールが届きません。試しにデバックサイトで同事象を再現した処、ちゃんと以下の様なメールが届きました。
、、、って、(;・∀・)。。本番環境のエラーメールが見れないんじゃ、正確な事象がワカランやん。
デバック
こういう時は、まずエラーメッセージを確認します。本番環境ですが、仕方ないのでデバックモードにしました。まずは「wp-config.php」の以下の行を探し「WP_DEBUG」を「true」にします。
/** * 開発者へ: WordPress デバッグモード * * この値を true にすると、開発中に注意 (notice) を表示します。 * テーマおよびプラグインの開発者には、その開発環境においてこの WP_DEBUG を使用することを強く推奨します。 * * その他のデバッグに利用できる定数については Codex をご覧ください。 */ define('WP_DEBUG', false); ★<-ここを「true」に変更
上記のデバックモードで本番環境を確認します。(注:確認したら、すぐデバックモードを解除してくださいね。ディレクトリパスをネットに晒すと、セキュリティ的に危ないですw)
ん、、何やら「Login rebuilder」が悪さしている様ですね。451行目で、Fatal errorが発生している模様。
エラーメッセージは、、Fatal error: Uncaught Error: Call to undefined function is_user_logged_in (..以下、省略)
(。´・ω・)ん? あれ? おかしいな? is_user_logged_inが定義されていない??? いや、そんな訳ないでしょ??
とりあえず、1次対応
とりあえず「Login rebuilder」プラグインを停止してました。
すると、ちゃんとサイトが復旧しました。サイトのダウン時間は10分程度かな? まずは、これで良し('◇’)ゞ。
更に原因を調査
ここからは自信が無いのですが、PHPのバージョン問題でも無いだろうろうし長年の経験と勘で、おそらく他のプラグインの干渉じゃないかな?とアタリとつけました。
まず根気強く、ひとつひとつ、プラグインをアップデートしていきます。
見つけました!!「WP Security Audit Log」プラグインをアップデートすると、同様の「サイトに技術的な問題が発生しています」が表示されました。
試しに「WP Security Audit Log」プラグインを無効化してみます。するとWebサイトが復旧しました。
もちろん、「Login rebuilder」プラグインを停止してみてもサイトは復旧します。両方とも有効の状態の時のみ、本事象は発生する様です。
いくつか試した結果、各バージョンによる発生状況を以下に纏めます。
ステータス | Audit Log | Login rebuilder |
---|---|---|
エラー | 3.4.3.1 | 2.6.0 |
エラー | 3.4.3.1 | 2.6.2 |
正常 | 3.4.2 | 2.6.0 |
正常 | 3.4.2 | 2.6.2 |
とりあえず最終的な対応
1.Audit Logを3.4.2のバージョンのまま、Login rebuilder2.6.2にアップデートし運用する事とした。
2.あとはLogin rebuilderの作者に連絡し、将来バージョンで本事象が解決される事を期待する。
こんな感じでしょうか。。若干、犯人は「WP Security Audit Log」の様な気もしますが、、作者、外人だし(;^ω^)。。
残念ながらEclipse辺りから開発職を離脱した拙者はスタックトレースする事もできず、、、お恥ずかしながらLogin rebuilderの作者にメールさせて頂きました。
・解消バージョン 2.6.3
驚異的に迅速な対応で、感謝感激です。
私にとって「Login rebuilder」は無くてはならない素晴らしいプラグインです。本当にありがとうございました('◇’)ゞ