仕事上毎日数多くのWordPressサイトを更新したり、操作しています。数多く触っているのでそれなりに「あぅ!失敗した!」と思うことがよくあります。今回はそのような場合の中で「WEBサイト壊れた?」と思ってしまうような困ったときの対処法について書きます。
アップデートは無事に終了するまでじっと見守りましょう
長いこと更新をしていないWEBサイトにログインすると2桁の更新が溜まっていることもよくあります。そんな更新をしているときに途中で更新を止めないように注意して下さい。とはいえ、注意をしていても何らかの原因で途中で更新が止まってしまうこともあります。
更新が最後まで終了すると、
すべての更新が終了しました というメッセージが表示されます。途中でうっかり閉じたり、接続を切ったりしないように、このメッセージが出るまでじっと待ちます。
現在メンテナンス中のため、しばらくの間ご利用いただけません と表示されてしまうとき
アップデートでなんらかの問題が起こるときは大概の場合、
現在メンテナンス中のため、しばらくの間ご利用いただけません。
というメッセージが出て、WEBサイトが表示されなくなってしまいます。これは更新を開始するときに
「メンテナンスモードを有効にします…」というメッセージが出ることにより、更新が終わるまでこの表示を出す仕組みのものです。正常に終了すれば、このメンテナンスモードは解除されるのですが、アップデート中に何らかの原因で終了しない状態のままになってしまう場合があります。
メンテナンスモードになったときはWEBサイトのルート(一番上の階層)に .maintenance というファイルが作成され、終了したら削除されます。途中でアップデートが中断されたときはこのファイルが残ったままになるので、メッセージが出ている状態がずっと続いてしまう、ということになります。
.maintenance の中身は
<?php $upgrading = 1556094916; ?>
このようになっていて $upgrading という変数に開始時刻が入っていて、これが現在から10分以内であればメンテナンスモードが表示される、という仕組みになっているということです。
すぐにメンテナンスモードを解除したかったり、10分過ぎても表示が消えないとき(たまにある気がします)は、FTPソフトなどでサーバーを見て .maintenance というファイルを削除すればこのメッセージが出なくなり、おおよその場合はこれでWEBサイトが正常に表示されるようになります。
Fatalエラーや403エラーが出てしまうようなとき
.maintenanceを削除しても今度はエラーが表示されて、あるいは403エラーなどでWEBサイトが表示されなくなる場合があります。
こんなときは、落ち着いてそのエラーをよく見てみましょう。プラグインのアップデートの中断によるエラーなら、そのエラーメッセージの中に
Fatal error: require_once(): Failed opening required '(略)/wp-content/plugins/jetpack/_inc/lib/class.media.php' (include_path='.;C:\php\pear') in (略)/wp-content/plugins/jetpack/class.jetpack.php on line 25
のような文があると思います。
/wp-content/plugins/jetpack/
という部分を探して下さい /wp-content/plugins/ の後に書いてある jetpack の部分にある名前がエラーを起こしているプラグインのフォルダ名です。おそらくこのプラグインをアップデートしている時に中断され、プラグインファイルが中途半端な状態で更新が止まってしまったという状態だと思います。
この場合は jetpack プラグインをダウンロードしてきて、FTPソフトなどでサーバーにアップロードすれば正常に動くようになります。
公式サイトにあるプラグインなら、
https://ja.wordpress.org/plugins/
ここから検索して、プラグインをダウンロードすることができます。
このFatalエラーが出てしまうようなときの原因解明方法はおおよそ同じ方法で行うので、他の場合でもエラーが出たらこの文章をコピーして検索に使ったり、WordPressに詳しい人に聞くときにこの情報をみせたりするとエラーが特定しやすいです。
コメント