スーパーセントウです!
自分のWebサイトがある日真っ白になっていたら驚きますよね!
そんなことがあるのかって?
あったんです!(笑)
現在復旧しましたが、どうやって対処したのかを記載したいと思います。
本記事は以下ページの続きです。
はじめに
Webサイトが真っ白に!
こんなときに1番大事なことは落ち着くことです。
システムで不具合が起きているとき、
必ず原因があります。
今回の対処法とは関係ないですが、
1番最初に取るべき行動があります。
①twitterのトレンドを確認すること
②ググること
とりあえず「みんな一斉に起きていることではないか?」を疑いましょう。
①は特に有効です。みんな一斉に起きている場合は、そのうち勝手に復旧します。
むしろ自分ではどうしようもありません。
※今回の私の場合は真っ白画面に心当たりがあったのでこの手順は踏んでません
環境回りの前提
レンタルサーバ:ロリポップ
CMS:WordPress
ということで本記事はロリポップでWordPressを使用している人に特に有効です。
状況
真っ白になった画面はWordPressで作られたページだけでなく、
WordPressの管理画面もでした。
PHP更新時の対処
事象発生時、原因はPHPの更新だと簡単に予想できました。
こうなるとすることは
①ググること
この1点です!
だいたい同じような目にあった人がいますし、
親切なことになにか書き残してくれています。
PHP更新時異常の対応で多めにヒットする対応方法
A. PHPバージョンを元にもどす
⇒今回は以前のバージョンが古すぎて戻せず・・・
B. だいたいWordPressプラグインのせいだから全部無効にする。
⇒管理画面に入れないので無理・・・。
ということで元に戻すことは諦め、突き進むことを決意しました。
真っ白な画面にエラーログを出力する方法
真っ白な画面では先に進めません。
先に進むには情報が必要です。
情報とはエラーログってやつです。
まずはエラーログを出力させましょう。
重要)今回はロリポップの場合です。
①ロリポップにログイン
⇒PHP設定
⇒php.iniの「設定」ボタンをクリックします。
②そのほかの中の「display_errors」をOnに変更し、「php.iniを更新する」をします。
これで真っ白な画面に英語の文字列がたくさん出力されます。
エラーログをつぶしていく
簡単に言うとエラーログをすべてつぶし切るとゲームクリアです。
表示されるエラーログは各々の環境によって異なると思うので、
ひとつひとつググりましょう!
UMATOMEの場合、例えば以下のようなのが出力されました。
Warning: Use of undefined constant headerWpToTop – assumed ‘headerWpToTop’ (this will throw an Error in a future version of PHP) in /home/users/1/sunnyday.jp-michiaku-kosya/web/wp-content/plugins/wp-to-top/wp-to-top.php on line 241
最後の方を見るとどのファイルのどの行が悪さしているか教えてくれています。
あくまでも最終的に悪さしている行なので、
本当に間違っている行は周辺の行の可能性があります。
なにはともあれググればいろんな例がでてくるでしょう。
あとはFTPに入り込み、対象のファイルを書き換えてみましょう!
重要)書き換える前にダウンロードするなりして、
退避してください。
対応があっているとエラーログが消えていきます。
こうして4つぐらいのエラーログを対応したところで、
管理画面が復活しました!
ここまで行くと、PHP更新時異常の対応で多めにヒットする対応方法の
B. だいたいWordPressプラグインのせいだから全部無効にする。
を使うことができるようになりました。
さよならしたWordPressプラグイン
プラグインのバージョンアップをしてもPHPのバージョンに対応できなかった
プラグインをさよならしました。
・Head Cleaner
⇒確か6年前のサイト立ち上げ時期に入れといた方がよいプラグインということで
入れていました。効果を実感したことがないので単純にさようなら。
・Adsense Manager
⇒UMATOMEはGoogleAdsenseの広告を使用しています。
このプラグインがなくなると広告が出せなくなります。
代わりに採用したのはWP QUADSってやつです。
基本的にはこれ!みたいなプラグインみたいです。
おわりに
こんな感じで復旧しました。
私も親切なのでここに書き残しておこうと思います。
どこかの誰かのお役に立てれば幸いです。