- 2014-5-21
- WordPress
WordPressでサイトを作っていると『画面が真っ白』『ページが全部表示されない』ことがあります。
開発中に『画面が真っ白』になったのであれば、それは開発した作業が原因なので単純に1つ前の作業状態にプログラムを戻せば画面は元通りになります。
しかし、突然ある時に『画面が真っ白』になったとか、プログラムの更新やコミットを頻繁にやらなくて作業の粒度が高いときは戻すのが大変ですよね。そんなときは闇雲に何が原因かを考えるよりも、一般的なデバッグ方法で原因を突き止める方が効率が良いと思います。
そこで、デバッグ方法について整理してます。
何はともあれ、デバッグモード
WordPressにはデバッグモードがあります。デバッグモードとはエラー内容を画面に表示してくれる状態のことです。
デバッグモードはWoddPressのwp-config.phpの1行を書き換えるだけです。
/* ファイルの最終行付近。false -> true にするとデバッグモード */ define('WP_DEBUG', true);
ただし、開発環境と本番環境を分けずに、本番環境のみで開発をしていた場合はデバッグモードにすると、サイトにアクセスするユーザもデバッグの状態を見ることが出来てしまいます。見られたくない時は下記のようにwp-config.phpを書き換えると画面上に表示されず、php_error.logにのみエラー結果が表示されるようになります。
ini_set('display_errors', 0); ini_set("log_errors", 1); ini_set("error_log", "/var/log/php_error.log"); /* falseに戻す */ define('WP_DEBUG', false);
画面に表示させる(WP_DEBUGをtrueにする)ようにしたら、以下のようなエラーコードが表示されます。エラーによって、内容は異なります。
このエラーはwp-includeディレクトリのfunction.phpに問題があるようです。マルチサイトを作ってる時のトラブルで複雑なので、今回はこのエラーについて深く説明はしません。
エラー内容が分からない時はGoogle先生にエラー内容をそのまま聞けば対応方法が載っていると思います。
上記のエラーで言えば『Notice: wpdb::escape is deprecated since version 3.6! Use wpdb::prepare() or esc_sql() instead.』でそのまま検索すると、先人の解決方法が見つかると思います。
Sponsored link
便利な商品紹介
オムロン クッションマッサージャ(マッサージクッション) HM-341-BG ベージュ意外と気持ち良い
富士通 FUJITSU ScanSnap iX500 (A4/両面/Wi-Fi対応) FI-IX500A自炊するならやっぱり持っておきたい。せっかくスキャンするならOCR付きにしておくに越したことはない。