PHP7.4が2022/11/28にEoLを迎えるので、KUSANAGI for ConoHaをPHP8へバージョンアップしてみたのですが、意外と面倒なことに。
KUSANAGIではkusanagiコマンドなる管理ツールで任意のバージョンのPHPで動かすことが出来るので、まずはコマンドラインから
kusanagi php8
みたいな感じでサクッと切り替えてみたところ、エラーが出てサイトダウン(汗。
慌てて kusanagi php7 と打ち込んで元に戻したのですが、色々調べてみるとどうもPHP8に対応していないプラグインが結構あるみたいで、まずはPHP8非対応のプラグインを洗い出すことから始めないといけない様子。
そこで数年レベルで更新がないプラグインをチマチマ無効化していった結果、当サイトでは「Count Per Day」と「Invisible reCaptcha」がダメだと分かりました。
前者は問答無用で無効化しましたが、後者のreCAPTCHAが使えなくなるのは微妙なので代替案はないものかとフォーラムを見てみたところ、/wp-content/plugins/invisible-recaptcha/includes/utils/MchIPUtils.phpの197行目を
while ($seg {0} == ‘0’)
から
while ($seg[0] == ‘0’)
へ書き換えればOK、とあったので修正してみたところ、エラーは出なくなりました。
いやぁ、フォーラムはよくよく読んでみるものですね・・・。
ちなみに直接関係ないのですが、ConoHaの「かんたんKUSANAGIテンプレート」って何なんですかね?
その名の通りKUSANAGIのWordPress環境を簡単に構築できるのがウリみたいなんですが、今回のPHP8化に当たり実験環境を用意しようと新たにサーバを借りてKUSANAGI managerからサイトを立ち上げようとしたのですが、難易度の高いエラーが発生してしまいセットアップすることが出来ませんでした。
このエラーメッセージだけで解決できるような技術力を持った人間でないと使いこなせないようなテンプレートというのは流石にどうかと思うのですが・・・。