
愛媛マラソンのために実家に来ているのですが、温暖とされている松山もさすがに寒気に襲われていて、外に出る気にもなりません。もっとも今回の遠征期間中にランレコードのサイト更新をすることになっているので、渡ろうとしていないところに船もやって来ずといったところ。
サイトの更新が必要だと感じたのは、サイト制作を外注して、制作していただいた方に修正依頼やメンテナンスを依頼できない状態にあったためです。サイトを立ち上げた当初は問題なかったのですが、数年経過してWordPressやPHPのバージョンも上がり、その結果MySQL(データベース)も推奨されていないバージョンになっていました。
さらに、動きのあるサイトにしたのも影響して、モバイル環境での表示がおそろしく遅いという評価になっていたので、これはもうサイトを更新するしかないという状態に。そもそも他のスタッフからも、おしゃれなサイトにしたいという要望もありました。
というわけで、一昨日の移動中からネタ出しをして、昨日はまずは上記のバージョンアップを行いました。これがもう、骨が折れるという表現がそのまま当てはまるくらいに大変で、自分のサイトも含めて同じ作業をすでに何度も経験しているはずなのに、やることなすこと上手くいきません。
でも、私も25年以上もサイト制作をやってきた人間で、上手くいかないのは必ず原因があって、そこを直せば問題が解決することを知っています。プログラムで動くものは、運が悪くて上手くいかないなんてことはないわけです。だから時間をかけて問題を洗い出して解決していくわけです。
今回のサイト更新で1番の難関だったのが、PHPのバージョンアップでした。PHP5.6からPHP8.3にいきなりアップデートしたら上手くいかないのは当然わかっていました。実際に試してみたら、ランレコードのサイトも管理画面も真っ白になってしまい、明らかに更新失敗。
そこでPHPのバージョンを7.4まで落としたところ、きちんと表示されました。そしてここからが泥沼でした。WordPressもMySQLを最新に変えても、PHPが8になった途端にホワイトスクリーン。WordPressのテーマをこのブログと同じものにしても変わらず。
まったく原因がわからなくなったのですが、こういうときに頼りになるのがインターネットです。プログラムは決められたようにしか動かないので、同じようなトラブルになっている人はたくさんいるわけです。ホワイトスクリーンにエラー原因を出すことができるらしく、それによって問題解決。
結論としてはシングルクォーテーション「’」のミスで、上手く説明するのが難しいのですが、エラーが出たところだけ違うシングルクォーテーション(もしくはシングルクォーテーションに見える別の記号)が使われていました。そんな間違いを素人が初見で見つけられるわけもなく。
インターネットの情報がなければ永遠に彷徨い続けるところでした。ただ、それができたのも「上手くいかないのには理由がある」と信じていたから。私は基本的にプログラム以外のこともこのスタンスです。上手く走れないのも、上手く仕事できないのも理由があると考えています。
その理由を解決すれば、大抵のことは上手くいくわけです。ただ、プログラム以外においては因果関係が謎であることは多々あります。「風が吹けば桶屋が儲かる」というように、トイレ掃除をしたら運が良くなるみたいなことが実際に起きるわけで、そこが人生の面白いところ。
ただ、ひとつだけはっきり言えるのは、今回の作業は25年以上のサイト運営の中でも3本の指に入るくらい難しい作業でした。でも信じて手を動かし続けたのがよかったのは間違いありません。どんな苦境も自分を信じて貫けば、必ず突破口は見えるものです。
