このサイトのレンタルサーバーで使用しているPHPのバージョンを7.4から8系にアップデートしようとすると、WordPressの管理画面が真っ白になってしまうトラブルに直面していた。
この手の問題の場合、テーマやプラグインの互換性の問題が疑われることが多いが、今回はPHPのバージョンを変えたことによって起きているので、PHPまわりに原因があることは間違いない。phpinfoを表示させてみてみると、バージョン8.1にしてもPHP自体は動作している模様。つまりスクリプトに何か不具合があるということか。
WordPressをホスティングしているディレクトリにあるerror_logを確認してみると、wp_config.phpでエラーが起きていることがわかった。
PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported
原因は「波括弧」だった。せっかくなのでChatGPTに解説してもらおう。
{}を使った配列や文字列へのアクセスが、PHP 8.0以降では構文エラーとなるため、PHPが実行を停止しています。PHP 7.4から
{}記法は非推奨 (deprecated) 扱いとなり、PHP 8.0からは完全に使用不可になりました。WordPress推奨のPHPバージョンは、現時点(2025年1月現在)で少なくとも7.4以上または8.0以上を想定しており、このエラーはPHPバージョンを上げた際によく起こる事象です。
なるほど。ということで、{ }の代わりに[ ]を使うようにして、エラーとなっていた行を修正。無事にPHP 8.1で動作するようになった。
このサイトのレンタルサーバーやWordPress運用も歴史だけは長くなってしまい、レガシーな設定も残ってしまっていると思う。そんな話。
【2025.1更新】1Password 7から8への移行
Microsoft 365 PersonalからFamilyへの移行
首都圏鉄道・バスの乗車ポイントまとめ【Suica/PASMO/回数券廃止】
誤消去や破損してしまった動画を修復 Restore.Mediaの使い方
Font Bookでフォント一覧を出力する【Apple Script】
Macの容量を消費する謎の写真キャッシュ
Acrobat Reader 勝手にデスクトップにショートカット
Mapboxで遊ぶ鉄道時系列データ
ブラウザのユーザーエージェントを変更する
オンライン会議のコメントをニコニコ動画風に再現する