[WordPress]サイトに技術的な問題が発生しています、に対処した時の記録(WP Security Audit LogをアップデートしたらLogin rebuilderプラグインにエラーが発生!?)

wordpress,Web開発

先日、久しぶりにプラグインをアップデートしたら「サイトに技術的な問題が発生しています」と表示され、Wordpress画面が真っ白になる症状が発生しました。調べてみるとWordPress 5.2から「死のホワイトスクリーン」を回避する機能が実装されたそうです。(5.1までは、エラー発生時、何も表示されず真っ白になっていました。)

エラーメール

本事象が発生した場合、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 LogLogin rebuilder
エラー3.4.3.12.6.0
エラー3.4.3.12.6.2
正常3.4.22.6.0
正常3.4.22.6.2
※なお本事象はテーマも関係する様です。私は「Sydney」や「WelCart」テーマで本事象を確認しました。しかしTwenty Nineteen等の公式テーマでは本事象は確認できませんでした。

とりあえず最終的な対応

1.Audit Logを3.4.2のバージョンのまま、Login rebuilder2.6.2にアップデートし運用する事とした。
2.あとはLogin rebuilderの作者に連絡し、将来バージョンで本事象が解決される事を期待する。

こんな感じでしょうか。。若干、犯人は「WP Security Audit Log」の様な気もしますが、、作者、外人だし(;^ω^)。。
残念ながらEclipse辺りから開発職を離脱した拙者はスタックトレースする事もできず、、、お恥ずかしながらLogin rebuilderの作者にメールさせて頂きました。

不具合が解消されました。(追記2019/09/07)
「Login rebuilder」の作者へ連絡した処、なんと翌日には不具合を解消して頂けました。

・解消バージョン 2.6.3

驚異的に迅速な対応で、感謝感激です。
私にとって「Login rebuilder」は無くてはならない素晴らしいプラグインです。本当にありがとうございました('◇’)ゞ

Print Friendly, PDF & Email