wordpress

WordPressの画面・管理画面が真っ白になった時はWP Super Cacheが原因かも

知り合いから「WordPressを久々に更新したら通常画面も管理画面も真っ白になってしまった!」と連絡を受けて調査しました。

・現象

確かにサイトを見ても管理画面のログインページを見ても真っ白です。ソースをみても何も出力されていませんでした。

・調べたこと

(1)サーバーは動いてるの確認しよう。

まず最初に疑うのはサーバー自体が動いていないんじゃないのか?ってことからですよね。
FTPでサイトを見てみるとWordPressの各種プログラムもありますしサーバーの管理画面に入ってみても特にトラブルの報告もなし、データベースも稼働していました。たまにやりがちなサーバー・ドメインの更新を忘れてる、っのも問題ありませんでした。

(2)WordPressのデバッグモードでエラーが出ていないか見てみよう!

DEBUGモードをONにしてやるとこんなエラー文が書き出されました。

Fatal error: Call to undefined function mysqli_connect() in /home/users/2/アカウント名/web/フォルダ名/wp-content/advanced-cache.php on line 54

どうやらwp-contentのフォルダにあるadvanced-cache.phpってヤツの54行目が怪しいようです。しかも「undefined function mysqli」とか言ってるのを見るとデータベースの定義がうまく言ってないのか何かを読み込めてなさそうですね。><

「Googleでadvanced-cache.php」で検索するとどうやら「WP Super Cache」という表示を早くするためのプラグインと関係ありそうです。

・解決方法

WP Super Cacheというプラグインが原因のようでした。

(1)試しにプラグイン全体の無効にして試してみることにします。
FTPで入ってwp-contentフォルダ内の「plugin」フォルダの名前を「_plugin」に変えてみます。これでpluginフォルダが見つからないのですべてのプラグインが無効になるはずです。(多分…違うのかな…)
→結果画面をリロードしてみますが真っ白いまま、ダメでした。

(2)次にエラーが出ている「wp-content」内の「advanced-cache.php」を試してみることにします。advanced-cache.phpファイルを消してしまっても良さそうでしたが念のためこちらもファイル名の前にアンダーバー「_」を入れてファイル名を変えてみます。

→むむむ、画面をリロードするとなんということでしょう!画面が表示されたではありませんか!

とりあえず最悪の事態は回避されました。
ログイン画面も表示され問題なくログインもできました。

管理画面のプラグインを見てみると「WP Super Cache」は無効化されていましたがこれがもともと無効になっていのか、今回ファイル名を変えて無効になったのかは分かりませんでした。

検索したところ他にもWP Super Cacheで画面が表示されなくなった、という話がちらほらあるようでした。使用する際には気を付けたいところです。