意外なところに落とし穴 本サイトPHPに遠因?

自分が使う自作PCの「更新」を考え始めてからというもの、PC絡みのことに時間を割くことが多くなりました。新しい環境の自作PCへの移行は終わり、快適な環境を得ました。

それでもまだ、PC周りのことに時間を取ることが続いています。

昨日は、PCそのものではなく、本サイトを更新するためのサービスで「問題」が生じたとして、それに神経を使いました。

私が本サイトの運営を始めたのは1999年10月17日です。その年の5月に初めてのPCを手に入れました。当時のことですから、市販の完成されたPCです。

PCを使うということは、ネットへの接続も同時に始まったということです。当時は今とは隔世の感があります。ネット環境は今とは比較にならないほど貧弱でした。接続にもダイヤルアップ接続が使われました。

ネット回線の歴史 ダイヤルアップ接続からの変遷【ゆっくり解説】

今のように常にネットに接続するわけにはいきません。固定電話の回線を通じてネットに接続するため、一回の接続時間に比例して、電話料金がかかったからです。

しかも、ネット接続している間は、電話がつながらなくなりました。

だから、個人のユーザーは、電話料金が安くなる夜間にネットに接続する人が多かったです。

そんな環境ではありましたが、私はPCを使い始めてすぐに、自分のサイトを作りたいと思いました。それで、HTMLを簡単に解説した本を一冊購入し、それを見ながら、自分のサイトを自分ひとりで作りました。

本サイトの運営に大きな変化が現れたのは2013年です。その年の2月に、今も使うWordPressのサービスを利用し始めたからです。それを3年続けたあと、独自ドメインを取得をしました。

その際、私が手違いをしてしまい、3年間にWordPressで更新した投稿をすべて失うことを起こしてしまいました。

このように、本サイトの更新にWordPressを使っているのですが、昨日の朝、異変に気がつきました。

本サイトの更新をするためには、WordPressで投稿を開始するためのダッシュボードにアクセスします。朝一番は、投稿するわけではなく、自分のサイトの様子を見るため、ダッシュボードを訪れる週刊です。

するとそこに、見慣れない告知がありました。PHP(プログラム言語)が古いままなので、更新を求める内容でした。それを更新しない場合、セキュリティに問題が起こると書いてあったように記憶します。

WordPressで本サイトの更新をするようになって変わったのは、サイトが静的から動的になったことです。

自分でHTMLを使って更新していたときは、そのファイルにアクセスがあれば、そのファイルを表示するだけです。対して、WordPressは、HTMLとは別にデータベースがあり、それが組み合わさってサイトが表示されます。

【PHP入門決定版】4時間で学ぶ初心者向けPHPプログラミングチュートリアル【PHPの基礎を徹底的にマスター】

私は理解していませんが、サイトを動的に表示するのに使われるのがPHPです。これにもバージョンがあります。私が昨日変更するまで使っていたPHPは〔7.4(CGI版)〕でした。

昨年、一昨年よりも前、少なくとも3年以上前ぐらいから、私はできることなら、PHPのバージョンを新しくしたいと考えていました。

本サイトの運営に利用するロリポップ!の管理画面を訪れると、何年も前から、「CGI版」ではなく「モジュール版」が利用できると記載されていました。

「CGI版」から「モジュール版」に変更できるなら、サイトの表示はより速くなり、セキュリティの面でも良さそうなので、変更したいのはやまやまでした。

ところが、それに変更すると、自分のサイトがまったく表示されなくなってしまいます。そのため、それを試しては元に戻すことを繰り返しました。

どうしてそれが起こるのか、原因は担当部署に尋ねなかったので、わからず仕舞いでした。

上で書いたように、昨日の朝、PHPの更新を求める連絡があったため、今度はその変更ができるかもと期待し、変更しました。しかし、結果は前と同じでした。

結果的に、今までと昨日で違ったのは、昨日は、PHPの変更をし、自分のサイトが表示できなくても、そのままにしておいたことです。

そのあと、本サイト用のメールを確認すると、ロリポップ!からメールが届いていました。サイトに致命的なエラーがあることを検知すると、自動で届くメールのようです。

メールには、エラーの発生源が、使用しているテーマか、私が自分で入れて使っているプラグインのどちらかにあるというものでした。どうやら、プラグインに問題がありそうで、そのプラグインが何であるかも書かれていました。

しかし、その時点では、自分のダッシュボードにも入れない状態です。

そのため、特別に「リカバリーモード」を用意してくれたとして、そのURLが貼られていました。

そこで、そのURLから自分のダッシュボードのリカバリーモードにアクセスしました。

プラグインというのは、サイトを表現したりするための追加機能です。ブラウザ拡張機能のようなものと書いたらイメージしてもらえるでしょうか。

自分が使うプラグインを管理するページに入ると、あるプラグインが目立つ状態にあり、それを無効にしたように記憶します。

それで、問題が解決されたかどうかわからなかったので、昨日の午前中いっぱいぐらいは、リカバリーモードのままにしておきました。

そして、午後にリカバリーモードを解除し、通常の状態に戻しました。以来、問題が起きているようには感じません。

今回提供されたリカバリーモードは一日限りで、また何か問題を検知した場合は、新しいリカバリーモードが提供されることもメールに書かれていました。

PHPは、今回変更した、最も新しいバージョンの8.3(モジュール版)のままです。

これまで、7.4(CGI版)から新しいPHPに変更できなかった原因が、まさか、自分で入れたプラグインにあったとは考えてもいませんでした。

これで、この問題が解決できたとすれば、そのプラグインがPHPの変更の障害になっていたことになります。

ちなみにそのプラグインは、自分が投稿に類似する投稿を自動で表示する”WordPress Related Posts”です。

そのプラグインを停止し、削除したので、ある投稿に関心を持った人向けの投稿が表示されなくなります。しかし、これは、PHPを最新版に変更するためと理解してください。

ともあれ、これで、長年気がかりだった問題が解決され(本当に解決されたとすれば)、気持ちがすっきりしました。

問題解決のアドバイスをメールで知らせてくれた担当部署には感謝です。

これまでのCGI版からモジュール版に変更されたことで、本サイトの表示が、少しは速くなり、サイトを訪問してくれる人にも、良いのではと考えています。

それを実際に体感してもらえるかはわかりませんが。