ワードプレスのログイン画面
/wp-admin
真っ白で何も表示されないトラブルに対処したので、その記録です。
/wp-login.php
を開くと「予期しない出力により Cookies がブロックされました。」というエラーが表示されて、もちろんログインできません。
ですが、不思議なことに、ログインができないだけで、他の公開ページは普通に開けるんですよね。
まずエラーの原因を表示させてみる!
googleで調べてみると、wp-config.phpをFTPで開き、以下のどちらかの操作をすればエラーの原因がずらっと出るはず・・・とのことでした。
- 「define(‘WP_DEBUG’, false);」を「define(‘WP_DEBUG’, true);」に書き換える
- 「define(‘WP_DEBUG’, false);」がなければ、「define(‘WP_DEBUG’, true);」を書き加える
書き加える場所は「define(‘ABSPATH’,」より前ならどこでも良いそうです。
ブログ工房さんのWordPress で画面が真っ白になってしまった場合の3つの対処法が参考になります。
早速、書き加えてログイン画面を表示してみますが・・・
真っ白なまま。
何も変化ありません。エラーの原因すら表示できないみたいです。今回のは、ちょっと厄介なトラブルのようです。
エラーが表示できない場合には
エラーが表示できず、困った方も他にもいらっしゃるのではないでしょうか?
さらに調べてみると、どうも怪しいのは
- functions.php
- データベース
のどちらかだということが分かりました。
まず、データベースについてチラッと見てみました。データベースが壊れていれば、エラーが表示されているはずです。
データベースのエラーを調べる!
ロリポップ!というレンタルサーバーを借りているので、ログインして「WEBツール」⇒「データベース」⇒「phpMyAdminを開く」の順にクリックしていきます。表示名は違うかもしれませんが、他のレンタルサーバーでも大差ないはずです。
ユーザー名とパスワード、サーバーの種類は「phpMyAdminを開く」をクリックする前の画面に表示されているので、それをそのままコピペして、phpMyAdminにログイン。データベースを眺めてみても、エラー表示は見当たりません。
データベースについては、この辺で断念。
functions.phpの調査にうつります。
functions.phpを調べる!
functions.phpが原因になり、ログインできなくなる場合があるそうです。
たとえば、functions.phpの最後の「?>」のあとに”改行”があるだけで、こういったエラーが起こります。
- 「?>」の後に空白がないか
- 「?>」の後に改行がないか
をじっくりチェックします。
私の場合は、「?>」の表記はありませんでしたが、これはこれで問題ありません。PHPだけを書く場合には、最後の「?>」は省略することが推奨されていたはず。
次に、functions.phpの最初の「<?php
」の前に不要な”改行”や”空白”がないか確認します。
ここで、ようやくトラブルの原因に突き当たりました。ログイン画面が真っ白になっていたのは、functions.phpの最初の「<?php
」の前に不要な”空白”があったのが原因でした。
まとめ
ワードプレスのログイン画面が真っ白になったら、以下の2点をチェックします。
- 「define(‘WP_DEBUG’, true);」でエラー原因を表示させる
- エラーが表示されなければ、データベースとfunctions.phpをチェックする
ワードプレスは、簡単にサイトやブログが作れて便利ですが、こういったトラブルはちょくちょくありますよね。同じトラブルにあった方が、早く解決できますように。
コメント
なんと!
functions.phpの最初の「<?php」の前に不要な”改行”や”空白”がないか」を調べたところ見事に解消されました!
実は数日前にwidget-logicのための条件分岐を追記した際、まんまと直前に空行を空けていました。
こんなバグ、気づくかよ…
この度は本当にありがとうございます。
危うく何日もハマるところでした。
心より感謝申し上げます。