WordPressプラグインの更新で画面が真っ白に!?
「WordPressで作ってもらったサイトが急に真っ白になった!!」
といきなりお客さんから連絡が入った。
さあ、原因追求しましょう!
目次
まずは現状調査
- サイトトップページにアクセスすると真っ白画面
- 管理画面にアクセスすると真っ白画面
- phpMyAdminは問題なし
ふむふむ、なんかどっかのPHPで落ちてんのかな?
プログラミングやWordPressを習得するのに一番近道な方法とは?
とりあえずエラー出そう
ご存知かとは思いますが、WordPressでエラーを画面に出したい時は設定ファイルのwp-config.phpを下記のように修正するとエラーが表示されるようになりますよ!
define('WP_DEBUG',false);
を
define('WP_DEBUG',true);
に変更!
したらこんな2つのエラーが出た。
Use of undefined constant headerWpToTop – assumed ‘headerWpToTop’
Fatal error: Cannot redeclare twentytwelve_wp_title() ごにょごにょ
プラグインの更新エラー!?
Use of undefined constant headerWpToTop – assumed ‘headerWpToTop’
エラーを見るとどうやらWP To Topプラグインが悪さをしているようだ。
ん〜入れた記憶がないので、お客さんが入れたプラグインだろう。
取り急ぎこいつを無効化か削除しなくては!
管理画面にアクセス出来ないから、どっかで直接触らないといけないんだろうな〜と思いググってみると、ありました。
WORDPRESS プラグインのアップグレードに失敗した時に手動で強制削除する方法
のページを参考に、バックアップを取りつつ修正!
無事1つ目のエラーは出なくなりました。
子テーマのfunction.phpが悪さしてる!?
残るエラーはひとつ。
Fatal error: Cannot redeclare twentytwelve_wp_title() ごにょごにょ
こちらはなんやら子テーマが関係してそう。
ググってみると、どうやら本テーマのfunction.phpの関数名と子テーマディレクトリのfunction.phpの関数名が重複すると発生するエラーのよう。
よく見ると、なぜか本テーマのfunction.phpが子テーマディレクトリにそのままコピーされてる。。。
これは、おそらくFTPで上げる時にお客さんがミスったか!?
取り急ぎ、子テーマディレクトリのfunction.phpの名前を変えてみる。
すると、、、、
治った!!!!!トップページがちゃんと出てる!!!!
あ〜良かった良かった。
まとめ
まず画面が真っ白になったら、現状把握後まずはconfig.phpをいじってエラーを出してみましょう!
エラーが分かればこっちのもんですね!
また今回は2つのエラーが重なってましたね。
2つ目のFTP上げミスは現段階では気をつけてもらうしかないかもですが、1つ目のプラグインの更新エラーに関しては今後ともかなり起こりうる事象ですね。
こちらの対応策に関しては次回に続きます。
ひとまず本日はここまで。