レンタルサーバでデータベースなどをアップデートしたらWordPressが使えなくなった

レンタルサーバでMySQLやPHPなどをアップデートしたところ、Wordpressが表示できなくなりました。このブログではその顛末を書きます。私はさくらインターネットのレンタルサーバを使っていますが、おそらく、どのサーバーでも同様の状況は起こりうるだろうと思います。

トラブルの状況と結末

私はさくらインターネットのレンタルサーバを使いこのブログを書いています。さくらインターネットからは度々データベースのバージョンアップの案内が来ていました。しかし、なにか問題が置きそうな気がしてなかなかバージョンアップに踏み切れませんでした。が、先日思い切ってMySQL、Perl、PHPのバージョンアップを行ってみました。

さくらインターネットのサイトの説明ページを見ながら、サーバーコントロールパネルで、先ず、MySQLのバージョンアップしてみました。私はWordPressのブログを三つほど作っていますので、念のためすべてのブログを開いてみて以上がないことをざっと確認しました。次に、PerlとPHPのバージョンアップを行いました。そうしたところ、三つのうち二つのブログが開けなくなりました。管理画面もサイトも白い画面で「このサイトで重要なエラーが発生しました」と表示され、「重要なエラー」という文字があったので大いに焦りました。画面に表示されている「WordPressのトラブルシューティングについてはこちらをご覧ください。」をクリックしても有益な情報は得られませんでした。こうなると、管理画面も開けませんので普段やっている操作は何もできないことになります。

WordPressの5.2以降ではエラーが発生するとエラーメールを送信してくれるようで、おろおろしていると、「***サイトで技術的な問題が発生しています」というタイトルでWordPressのシステムメールが届きました。このメールに従うと、リカバリモードでWordPressの管理画面が開きます。この画面では、問題の発生したプラグインの表示があり、プラグインの有効化/無効化などはできますので、それに従い少しプラグインの操作をしてみました。状況が若干良くなることもありましたが、エラー表示は消えませんでした。

プラグインをしばらく調べてみましたがうまく行きませんでしたので、その後、PHPのバージョンを少し古いものに変更したところ、それで画面が表示できるようになりました。結果的にはPHPのバージョンの問題でした。大騒ぎした割にはあっけない幕切れとなりましたが、その経験に基づき以下にデータベースのバージョンアップの際に生じる対処法と思われることを少し書いておきます。

焦らずに

画面が白くなり、意味のよくわからない恐ろしいエラーメッセージが表示されるため、非常に焦ります。非常に罪作りなメッセージだとは思いますが、今回については、MySQL、Perl、PHPのアップデートの後の不具合ですので、冷静に考えるとこれらのバージョンとプラグインの相性の問題だろうということは想像がつきます。

今回のようになにか操作に思い当たる場合は対処すべき点を絞れるとして、何もしないのに突然エラーが出た、という場合にどうしたらよいのでしょう。ネットを眺めていると、どうやら自働でバージョンアップされることもあるようで、例の恐ろしい画面が出た場合、先ずは、ソフトのバージョンとプラグインを疑ってみる、ということはある程度妥当なようです。

そうなると、ソフトのバージョン、プラグインをどのような手順で調べるか、というのが問題になります。

MySQLのバージョンを戻してみる

MySQLは、データベース管理ソフトの名前です。さくらインターネットでは、サーバーコントロールパネルからMySQLのバージョンを設定できます。先程バージョンアップを行ったのですから逆にバージョンを落とせばよいことになります。バージョンをもとに戻してみたのですが、何ら改善はありませんでした。

バージョンを戻してみるのは、一見理にかなっています。しかし、上にも書きましたように、今回、MySQLのバージョンを上げた後、異常のないことは確認していましたので、実は今回のケースに関してはあまり意味のないことをしたのかもしれません。冷静に考える余裕があれば気がついたことだとは思います。

PHPのバージョンを変えてみる

プラグインが新しいバージョンでは対応できていないことがあるそうですので、バージョンを少し古いものにしてみます。さくらインターネットではサーバコントロールパネルから操作することができます。

今回のトラブルに関しては、PHPのバージョンを少し下げることで解決しました。が、実は私はPHPのバージョンを変えて見る前にプラグインをいろいろ試すという無駄なことをしてしまいました。おそらく、このような場合は、PHPのバージョンを変更するのを先にしたほうがよいのだろうと思います。

プラグインを調べる

プラグインについては、ftpソフト、あるいは、さくらインターネットではコントロールパネルのファイルマネージャーを使って調べることができます。

いずれにしても、WordPressを構成するデータベースの構造を把握する必要はありますが、その辺りのことはインターネットで検索すると沢山引っかかりますのでそちらを参照してください。

プラグインの動作を確認するには、プラグインを止めてみて様子が変わるかどうかを調べてみることになります。それには、プラグインの全部を止めてみるか、一つづつ止めてみるかのどちらかを行います。

WordPressに関連するファイルが保存されているフォルダの中の「plugins」フォルダの名前を変えるとすべてのプラグインを止めることができます。これは、「wp-content」というフォルダの中にあり、フォルダー名「plugins」を一時的に例えば「plugins_tmp」と変えてみてサイトの表示を確認します。これで表示ができるようになればプラグインのどれかが悪さをしていると推定できます。それが分かったら、フォルダー名を元に戻します。

次は、pluginsフォルダの中の個々のプラグインの名前を変えて個々のプラグインを調べてみます。このようにして、表示ができるようになれば、問題のプラグインが見つかります。

プラグインが特定できたら、そのプラグインの更新をするか、あるいは不要であれば無効化又は削除をします。

今回、念のため、全てもプラグインを更新しておきました。でも、どうやら、すべてのプラグインが最新のPHPに対応しているわけではなさそうですので、PHPは少し古いバージョンにしておくのが無難なようです。

今回のトラブルでの反省

最初に書きましたように、今回のトラブルはPHPのバージョンの問題でした。冷静になって考えてみると、もっと簡単に対応できたと思うのですが、そのときは焦ってしまい右往左往して無駄なことをしてしまいました。

皆さんにアドバイスできるとすれば、それは、「画面に恐ろしいメッセージが出ても焦らずに対処されますように」ということです。

コメントを残す